Debian 8上的usleep的CPU使用率比Debian 6高得多

时间:2017-07-28 15:08:36

标签: linux linux-kernel debian

我们将操作系统从Debian 6升级到Debian 8后,我们的软件系统遇到性能问题。

从顶部-H结果看,系统中使用usleep(200)的所有线程都有一些主要的CPU使用率增加,然后我们测试了列出的示例程序:

#include <unistd.h>

int main(int argc, char **argv) {
    while (true)
        usleep(200);
    return 0;
}

在Intel i3系统上(没有启用操作系统的GUI,只有命令行),该程序将导致Debian 6的CPU使用率为1%,而Debian 8则为2.3%。

我们检查了一些可疑的内核配置,但没有找到有用的线索。此外,两个操作系统都启用了高分辨率计时器。

Debian 8.2(3.16.0-4):

CONFIG_RCU_FAST_NO_HZ=y
CONFIG_HZ=250
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HIGH_RES_TIMERS=y

Debian 6(2.6.32-5):

CONFIG_NO_HZ=y
CONFIG_HZ=250
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HIGH_RES_TIMERS=y

我们知道亚毫秒级睡眠会导致某种CPU使用,而我们并不期望不同操作系统版本上的CPU使用情况完全不同。

任何建议都将不胜感激。

0 个答案:

没有答案