Centos 6.5 CPU 负载间歇性高

标签 c linux centos6.5

我正在 CentOS 6.5 中运行一个网络服务器应用程序,有 200 个分支,每个分支最多 100,000 个客户端。通常情况下,流量为每分钟 200K 请求。我发现 CPU 负载高达 200%,然后在几分钟内恢复到 2% 左右的正常水平。大约每 30 分钟左右就会发生一次。

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

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

我已经使用 valgrind 清理了任何内存泄漏的代码,但遇到了同样的问题。这些事情在我脑海中浮现 CentOS 在 fork 死后会承担创建 fork 的负载。 CentOS 内核不使用快速计时器。 CentOS 内存管理器的效率不如 RHEL。 我应该尝试 CentOS 6.3,要么它比新版本的 CentOS 6.5 更稳定。

最佳答案

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

但是,当我们在 CentOS 中尝试相同的应用程序时,该错误不会触发段错误,而是使进程处于 sleep 模式,内存消耗极高,接近 25%。通过这种方式,进程停留在系统中并占用内存,从而导致高负载和峰值。

结论是,在 CentOS 中运行时,需要非常擅长编码中的内存泄漏检查,因为与 RHEL CentOS 不同,CentOS 不够智能,无法 self 修复。

关于Centos 6.5 CPU 负载间歇性高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25531705/

相关文章:

c - 如何在 C 中打印 IP 地址的点分小数部分的特定值?

用 C 创建拼写检查器

c - 将 C 文件导出到新文件时删除#if 0 和#endif 之间的代码

linux - PHP应用的文件存储集群(共享文件存储)

php - 无法在centos 6.5和php 5.4中安装php mongo扩展

C 错误 : expected expression before ‘{’ token

linux - 在没有 CRAN 的情况下安装 R 附加包

linux - RPM 调用浏览器安装后

python - centos 6.5 python 2.7找不到python 2.6认为很好的pygtk

python - 在 Intel Galileo 的后台启动时运行 python 程序