我有一个服务器,我想确保它始终以最快的速度运行,从来没有在节能模式。 我已经尝试了一些策略(除了重新启动和更改BIOS中的设置,我将不得不为几百台服务器做),但是我从cpufreq-info得到了奇怪的结果。 例如:
root @ host:〜#cpufreq-info -c 0 cpufrequtils 007:cpufreq-info(C)Dominik Brodowski 2004-2009 请将错误和错误报告给[email protected]。 分析CPU 0: 驱动程序:acpi-cpufreq 以相同的硬件频率运行的CPU:0 需要通过软件调整频率的CPU:0 最大转换延迟:10.0 us。 硬件限制:1.20 GHz - 2.20 GHz 可用频率步骤:2.20GHz,2.20GHz,2.10GHz,2.00GHz,1.90GHz,1.80GHz,1.70GHz,1.60GHz,1.50GHz,1.40GHz,1.30GHz,1.20GHz 可用的cpufreqpipe理员:保守,ondemand,用户空间,powersave,性能 目前的政策:频率应该在2.00 GHz和2.20 GHz之内。 州长“表演”可以决定使用哪种速度 在这个范围内。 目前的CPU频率是1.20 GHz(通过硬件调用断言)。 cpufreq stats:2.20GHz:6.50%,2.20GHz:0.24%,2.10GHz:0.34%,2.00GHz:0.05%,1.90GHz:0.04%,1.80GHz:0.03%,1.70GHz:0.03%,1.60GHz:0.03% ,1.50GHz:0.03%,1.40GHz:0.03%,1.30GHz:0.03%,1.20GHz:92.66%(8080636)
请注意,最小速度显示“2.00 GHz”,调速器设置为“性能”,但目前的CPU频率为1.20 GHz 。 但是,如果我只是看/ proc / cpuinfo,那里的值是一致的〜2.2 GHz:
root @ host:〜#egrep'MHz | Xeon'/ proc / cpuinfo; cpufreq-info -c 0 型号名称:Intel(R)Xeon(R)CPU E5-2660 0 @ 2.20GHz CPU MHz:2200.000 型号名称:Intel(R)Xeon(R)CPU E5-2660 0 @ 2.20GHz CPU MHz:2201.000
哪一个是正确的? 我相信哪一个? 除了BIOS的变化,有什么办法可以保证最高的性能模式? 对于它的价值,这是Ubuntu 12.04,这个内核:
Linux host 3.2.0-76-generic #111-Ubuntu SMP Tue Jan 13 22:16:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
我几乎相信你的BIOS将你的CPU限制在1.20GHz。 在内核中有两个值:
scaling_cur_freq,这是cpufreq驱动程序认为它请求的频率。 / proc / cpuinfo包含这个值。 它调用cpufreq_quick_get()函数。
cpuinfo_cur_freq是实际编程到CPU中的频率。 cpufreq-info使用此值,如“通过调用硬件来确定”所示。 (它最终调用__cpufreq_get()。)如果cpuinfo_cur_freq不可用,它将回退到scaling_cur_freq。
+1关于马特关于大规模BIOS更新的评论。 例如,HP Proliant DL级服务器允许您在线更改功率调节。 也许你的硬件具有类似的function。
BIOS更改是确保峰值性能的最佳方法,但是一些硬件控制的频率调整是不可避免的(热调节)。
以下是英特尔关于设置CPU频率的文章 。 在一定程度上,可以在用户和操作系统级别上控制CPU频率。 这里有一些来自Arch Linux的关于频率调整的其他信息,您可能会发现它们很有价值
在BIOS方面,可以使用诸如专用智能平台pipe理接口(IPMI)NIC或可脚本化KVM系统的独立pipe理接口来执行一组服务器的大容量BIOS更新。