我有一些双 Xeon(X5650 @ 2.67GHz)服务器,配备 72GB RAM 并且禁用 HT,但我遇到了一个问题。
我托管了 srcds 服务器(游戏服务器),它们确实占用大量 CPU。CPU 使用率通常超过 50%,但 CPU 负载为 0.05~0.30(即使我运行 10 个服务器,每个服务器使用 1 个核心 100%,它也将保持在 0.05~0.30)。
问题是 CPU 无法加速,它只是永远停留在 1.5Ghz,因为系统没有记录负载,而实际上有。随着游戏服务器负载的增加,它开始因为 CPU 频率低而出现滞后和丢帧。
我对服务器进行了一些基准测试,CPU 负载和频率确实上升到了应有的~3Ghz,所以我不认为这是服务器的问题。
我曾经使用过 Ubuntu,并且 CPU 负载正常,但我不想重新格式化服务器并再次设置所有内容。
我可以做些什么来让 CentOS 显示正确的负载并按应有的方式提高 CPU 频率?
答案1
您可能需要检查是否已启用 CPU 调节器。
检查您的实际频率是否与 CPU 的功能相匹配。
grep -E '^型号名称|^cpu MHz' /proc/cpuinfo
如果不匹配,请尝试终止 cpuspeed 服务并查看是否一切正常。
服务cpuspeed停止
或者运行以下 bash 脚本:
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
[ -f $CPUFREQ ] || continue
echo -n performance > $CPUFREQ
done