0

我有4 个 CPU的 linux 服务器。我安装了mysql,并且我有在后台 24/7 运行的 CPU 繁重的任务。我对每个进程使用 CPU 亲和力有什么好处?例如:

1 CPU = background task/daemon
2 CPU = background task/daemon
3 CPU = background task/daemon
4 CPU = mysql

在任何给定时间,每个后台任务都会占用多达 80% 的 CPU。

更新:我的任务是 lxml 解析器(python)。

4

1 回答 1

1

我会看看你的流程在做什么。如果调度程序不断将任务切换到不同的内核/CPU,那么您可以通过将它们锁定到特定的内核/CPU 来获得性能提升。好处来自不必每次在两个内核/CPU 之间进行昂贵的上下文切换。

如果您没有看到这种情况发生,那么当调度程序可能需要对它们进行洗牌时,我认为不需要将它们锁定到特定的内核。

如果您正在寻找更具体的答案,您应该研究一下您的 Linux 内核正在使用什么调度程序以及它如何调度进程。一旦您了解了它是如何安排它们的,使用配置/标志可能会有所帮助,这样它就可以很好地处理您所有的后台繁重任务。但请记住,如果您做的事情过于极端,您将面临进程/线程饥饿、运行时间极长或总体性能不佳的巨大风险。

于 2012-08-27T21:30:27.467 回答