0

我有一个 CPU 负载不均匀的系统,模式很奇怪。它提供 apache、弹性搜索、redis 和电子邮件。

这是mpstat输出。注意最后 12 个内核的 %usr 远低于前 12 个内核。

# mpstat -P ALL
Linux 3.5.0-17-generic (<server1>)    02/16/2013      _x86_64_        (24 CPU)

10:21:46 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:21:46 PM  all   17.15    0.00    2.20    0.33    0.00    0.09    0.00    0.00   80.23
10:21:46 PM    0   27.34    0.00    4.08    0.56    0.00    0.53    0.00    0.00   67.48
10:21:46 PM    1   24.51    0.00    3.25    0.53    0.00    0.34    0.00    0.00   71.38
10:21:46 PM    2   26.69    0.00    4.20    0.50    0.00    0.24    0.00    0.00   68.36
10:21:46 PM    3   24.38    0.00    3.04    0.70    0.00    0.23    0.00    0.00   71.65
10:21:46 PM    4   24.50    0.00    4.04    0.57    0.00    0.15    0.00    0.00   70.74
10:21:46 PM    5   21.75    0.00    2.80    0.74    0.00    0.15    0.00    0.00   74.55
10:21:46 PM    6   28.30    0.00    3.75    0.84    0.00    0.04    0.00    0.00   67.07
10:21:46 PM    7   30.20    0.00    3.94    0.16    0.00    0.03    0.00    0.00   65.67
10:21:46 PM    8   30.55    0.00    4.09    0.12    0.00    0.03    0.00    0.00   65.21
10:21:46 PM    9   32.66    0.00    3.40    0.09    0.00    0.03    0.00    0.00   63.81
10:21:46 PM   10   32.20    0.00    3.57    0.08    0.00    0.03    0.00    0.00   64.12
10:21:46 PM   11   32.08    0.00    3.92    0.08    0.00    0.03    0.00    0.00   63.88
10:21:46 PM   12    4.53    0.00    0.41    0.34    0.00    0.04    0.00    0.00   94.68
10:21:46 PM   13    9.14    0.00    1.42    0.32    0.00    0.04    0.00    0.00   89.08
10:21:46 PM   14    5.92    0.00    0.70    0.35    0.00    0.06    0.00    0.00   92.97
10:21:46 PM   15    6.14    0.00    0.66    0.35    0.00    0.04    0.00    0.00   92.81
10:21:46 PM   16    7.39    0.00    0.65    0.34    0.00    0.04    0.00    0.00   91.57
10:21:46 PM   17    6.60    0.00    0.83    0.39    0.00    0.05    0.00    0.00   92.13
10:21:46 PM   18    5.49    0.00    0.54    0.30    0.00    0.01    0.00    0.00   93.65
10:21:46 PM   19    6.78    0.00    0.88    0.21    0.00    0.01    0.00    0.00   92.12
10:21:46 PM   20    6.17    0.00    0.58    0.11    0.00    0.01    0.00    0.00   93.13
10:21:46 PM   21    5.78    0.00    0.82    0.10    0.00    0.01    0.00    0.00   93.29
10:21:46 PM   22    6.29    0.00    0.60    0.10    0.00    0.01    0.00    0.00   93.00
10:21:46 PM   23    6.18    0.00    0.61    0.10    0.00    0.01    0.00    0.00   93.10

我有另一个系统,一个运行 MySQL 的数据库服务器,它显示了一个均匀的分布。

# mpstat -P ALL
Linux 3.5.0-17-generic (<server2>)    02/16/2013      _x86_64_        (32 CPU)

10:27:57 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:27:57 PM  all    0.77    0.00    0.07    0.68    0.00    0.00    0.00    0.00   98.47
10:27:57 PM    0    2.31    0.00    0.19    1.86    0.00    0.01    0.00    0.00   95.63
10:27:57 PM    1    1.73    0.00    0.17    1.87    0.00    0.01    0.00    0.00   96.21
10:27:57 PM    2    2.62    0.00    0.25    2.51    0.00    0.01    0.00    0.00   94.62
10:27:57 PM    3    1.60    0.00    0.17    1.99    0.00    0.01    0.00    0.00   96.23
10:27:57 PM    4    1.86    0.00    0.16    1.84    0.00    0.01    0.00    0.00   96.13
10:27:57 PM    5    2.30    0.00    0.25    2.45    0.00    0.01    0.00    0.00   94.99
10:27:57 PM    6    2.05    0.00    0.20    1.89    0.00    0.01    0.00    0.00   95.86
10:27:57 PM    7    2.13    0.00    0.20    2.31    0.00    0.01    0.00    0.00   95.36
10:27:57 PM    8    0.82    0.00    0.11    4.05    0.00    0.03    0.00    0.00   94.99
10:27:57 PM    9    0.70    0.00    0.18    0.06    0.00    0.00    0.00    0.00   99.06
10:27:57 PM   10    0.18    0.00    0.04    0.01    0.00    0.00    0.00    0.00   99.77
10:27:57 PM   11    0.20    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.78
10:27:57 PM   12    0.13    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.86
10:27:57 PM   13    0.04    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.95
10:27:57 PM   14    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
10:27:57 PM   15    0.03    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.97
10:27:57 PM   16    0.05    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.94
10:27:57 PM   17    0.41    0.00    0.10    0.04    0.00    0.00    0.00    0.00   99.45
10:27:57 PM   18    2.78    0.00    0.06    0.14    0.00    0.00    0.00    0.00   97.01
10:27:57 PM   19    1.19    0.00    0.08    0.19    0.00    0.00    0.00    0.00   98.53
10:27:57 PM   20    0.48    0.00    0.04    0.30    0.00    0.00    0.00    0.00   99.17
10:27:57 PM   21    0.70    0.00    0.03    0.16    0.00    0.00    0.00    0.00   99.11
10:27:57 PM   22    0.08    0.00    0.01    0.02    0.00    0.00    0.00    0.00   99.90
10:27:57 PM   23    0.30    0.00    0.02    0.06    0.00    0.00    0.00    0.00   99.62
10:27:57 PM   24    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:27:57 PM   25    0.04    0.00    0.03    0.00    0.00    0.00    0.00    0.00   99.94
10:27:57 PM   26    0.06    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.93
10:27:57 PM   27    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:27:57 PM   28    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:27:57 PM   29    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:27:57 PM   30    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:27:57 PM   31    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99

两者都是运行 Ubuntu 12.10(非虚拟)的专用系统。

我已经考虑并阅读了有关设置 nice、taskset 或尝试调整调度程序的信息,但我不想做出任何轻率的决定。此外,这个系统本身并没有表现“糟糕”,我只是想确保所有核心都被正确利用。

让我知道我是否可以提供更多信息。非常感谢任何关于“server1”上的 CPU 负载的建议。

4

1 回答 1

3

在某些内核达到 100% 而其他内核没有达到 100% 之前,这不是问题(即在您向我们展示的统计数据中,没有任何迹象表明分布不均匀会对性能产生负面影响)。在您的情况下,您可能有相当多的进程均匀分布,导致每个内核的基本负载为 6-10%,然后再增加约 12 个线程,每个线程需要 10-20% 的内核。您不能在内核之间拆分单个进程/线程。

于 2013-02-17T03:51:19.250 回答