我的系统是 Debian 6.0.3 x86_64 盒,内核为 2.6.32-5-openvz-amd64,它托管了许多 OpenVZ 容器。我最近从 backports repo 中的 LXC/较新的内核迁移到稳定的 OpenVZ 内核以解决网络问题,但遇到了另一个问题 - CPU 花费大量时间处理软件中断。以下是 Munin 的 CPU 时间图:http://prntscr.com/arjzl。
我在内核命令行中添加了nohz=off
和 ,highres=off
但这并没有多大帮助。而且,根据另一个 Munin 图表,此框上的中断数量相当低:http://prntscr.com/ark19,因此中断似乎不是导致此问题的原因。当我运行 时top
,zabbix_server
是 CPU 消耗最多的,但我没有看到它zabbix_server
与软件中断之间有任何关系。
我不确定如何进行调查,在我看来,这看起来像是一个内核错误或内核模块错误,但我不知道如何将其追溯到有问题的进程/模块。也许还有另一个内核命令行参数需要调整。我接下来应该尝试什么?
答案1
zabbix_server 是最耗 CPU 的,但我看不出 zabbix_server 和软件中断之间有任何关系。
我想知道您究竟是如何尝试看到一种关系的?例如,您是否尝试过阻止它?
由于这个问题是在内核更改后出现的,因此可以合理地假设这是 OVZ 2.6.32-5 的一个错误。我建议使用http://wiki.openvz.org/Download/kernel/rhel6/042stab055.16如果它比你现在的更新鲜(看起来是这样)。