gpt4 book ai didi

c++ - CentOS 6.5 秒杀

转载 作者:行者123 更新时间:2023-11-30 17:29:49 25 4
gpt4 key购买 nike

我已经用 C 语言开发了一个应用程序。我正在“Red Hat Enterprise Linux Server 版本 5.8 (Tikanga)”上运行此应用程序,一切看起来都很好,但是当我们在“CentOS 版本 6.5 (Final)”上部署此应用程序时,它会启动做题。它占用更多的 chache 内存,30-45 分钟后它会出现峰值,所有 cpu 都显示 100% cpu 利用率并持续 1-2 秒。

我用谷歌搜索了这个问题,发现CPU high usage of the usleep on Cent OS 6.3

因为我的应用程序中的一个进程正在使用 10 usleep。在 RedHat 中它占用的 CPU 不到 3%,但在 CentOS 中占用的 CPU 相当高,大约为 90%。阅读链接后,当我将 sleep 从 10 usleep 更改为 1000 usleep 或 1 us 时,它会占用 40% 的 CPU。

我需要知道CentOS 6.5的内核是否使用高速定时器,或者我需要在编译内核时设置任何配置。

最佳答案

首先,您正在比较苹果和橘子:CentOS 6 对应于 RHEL 6。很可能您的代码在 RHEL 6.5 上的行为与在 CentOS 6.5 上的行为相同,在 CentOS 5.8 上的行为与在 RHEL 5.8 上的行为相同。将问题描述为 RHEL 和 CentOS 之间的差异是一种误导。

其次,如果您的 CPU 利用率受到几次 usleep() 调用(显然执行了很多次)的强烈影响,那么您的代码就有缺陷,您应该修复它。构建一个自定义内核来掩盖这个问题是相当落后的。尽管如此,如果目标更多的是迁移到 CentOS,而不是迁移到(某种程度上)更新的环境,那么请切换到 CentOS 5,而不是 CentOS 6。

关于c++ - CentOS 6.5 秒杀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com