Centos 6.5 CPU间歇性地加载高

时间:2014-08-27 15:52:44

标签: c linux centos6.5

我在CentOS 6.5中运行一个网络服务器应用程序,拥有200个分支,每个分支最多100,000个客户端。通常,流量是每分钟200K请求。我已经看到CPU负载高达200%,然后在几分钟内恢复正常约2%。它发生在大约每30分钟左右。

在RHEL 5.8中运行的相同应用程序没有此类问题。

我想知道CentOS与RHEL的性能存在很大差异。

我使用valgrind清除了任何内存泄漏的代码,但是遇到了同样的问题。我想到了这些事情 CentOS在他们死后创造叉子的过程中负担很重。 CentOS内核没有使用快速计时器。 CentOS内存管理器效率不如RHEL。 我应该试试CentOS 6.3,要么比新版CentOS 6.5更稳定。

1 个答案:

答案 0 :(得分:1)

经过很多天,我们发现我们的代码中存在一个错误,即在RHEL中执行分段错误,并且由于多进程应用程序之后出现了新进程,并且RHEL有效地释放了导致该进程的内存。分段故障。

然而,当我们在CentOS中尝试相同的应用程序时,该错误不会触发分段错误,但会使进程处于睡眠模式,并且具有极高的ram消耗率接近25%。通过这种方式,该过程停留在系统中并保持存储器,从而导致高负载和尖峰。

结论是,在CentOS中运行时,编码中的内存泄漏检查需要非常好,因为RHEL CentOS不够聪明,无法自我修复。