我定义了一个cpuset来包含这个系统上的24个CPU中的12个。
我在里面加了一个程序。/proc/PID/cpuset给出了正确的答案。
顶部的-p PID,其次是1,显示了CPU在CPU上的大量时间,而不是在设置中。
另一个奇怪的是,CPU时间出现在%ni而不是%us中,尽管没有进行重命名。
Ubuntu11.10,一台带有英特尔(R) Xeon(R) CPU X5680 @ 3.33GHz芯片的2套接字机.
我觉得我在这里有四个插座。
发布于 2012-02-22 14:15:44
这不是一个4插座机器对不起,56‘s系列芯片是双插座只.
X5680有6个具有超线程的内核,可以配置为在NUMA中与另一个X5680一起工作,因此在Linux中将显示24个CPU (2*6*2)。
在默认情况下,U11有一个HT &NUMA感知内核,因此,除非被告知不同,否则将尝试使用相同内核上的线程并死掉,以确保高效的L2缓存管理。
我不太确定您通过使用cpusets来做什么,因为有更多的机会错误地配置性能,而不仅仅是把它留给内核--您想要实现什么?
发布于 2012-02-22 13:38:42
下载应力效用并在您感兴趣的CPU屏蔽/集中运行它。类似于stress -c 12的东西可以在12个CPU上生成一个负载。它应该可以在发行版的存储库中获得。
我很担心你关于系统架构的声明。英特尔X 5680 CPU是一个6核CPU,只能在2套接字配置中使用.你确定你有4个插座吗?您是否有可能仅仅启用超线程以获得top中的24核?如果是这样的话,你在你的电脑里看到的结果是不正确的。
你真的有12个处理器。如果这是期望确定性处理的任何类型的关键应用程序,则应该禁用超线程,并使用物理CPU内核。这意味着你的臀部也会变小。
https://serverfault.com/questions/362488
复制相似问题