Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > linux CPU模式批量由cpupower转performance

linux高性能测试之CPU模式批量由cpupower转performance问题

作者:Briwisdom

这篇文章主要介绍了linux高性能测试之CPU模式批量由cpupower转performance问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

linux CPU模式批量由cpupower转performance

CPU动态节能技术用于降低服务器功耗,通过选择系统空闲状态不同的电源管理策略,可以实现不同程度降低服务器功耗,更低的功耗策略意味着CPU唤醒更慢对性能影响更大。

对于对时延和性能要求高的应用,建议关闭CPU的动态调节功能,禁止 CPU休眠,并把CPU频率固定到最高。

通常建议在服务器BIOS中修改电源管理为Performance,如果发现CPU模式为conservative或者powersave,可以使用cpupower设置CPU Performance模式。

cpufreq是一个动态调整cpu频率的模块,系统启动时生成一个文件夹/sys/devices/system/cpu/cpu0/cpufreq/,里面有几个文件,其中scaling_min_freq代表最低频率,scaling_max_freq代表最高频率,scalin_governor代表cpu频率调整模式,用它来控制CPU频率。

cpu的个数可查询路径为:/sys/devices/system/cpu/。

wm@wm-MS-7A70:~/LMHWork$ cd /sys/devices/system/cpu
wm@wm-MS-7A70:/sys/devices/system/cpu$ ls
cpu0  cpu2  cpu4  cpu6  cpufreq  hotplug       isolated    microcode  offline  possible  present  uevent
cpu1  cpu3  cpu5  cpu7  cpuidle  intel_pstate  kernel_max  modalias   online   power     smt      vulnerabilities
wm@wm-MS-7A70:/sys/devices/system/cpu$ 

打开cpu0/cpufreq/scaling_governor默认是powersave模式,可以批量更改为performance模式,这样当测试时候,cpu都能保持高效运行,使测试更加精确。

批量修改方法:

建立一个cpu_set_performance.sh文件,里面代码如下, 如果你的cpu是8个,就在for循环里面写7,否则修改为你的cpu个数。

for i in `seq 0 7`
do
  echo performance > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
done

cpu模式说明

ubuntu18.04 CPU更改为performance模式之后,重启自动恢复为powersave模式的解决

performance重启自动恢复为powersave模式的解决

1.安装sysfsutils

 sudo apt-get install sysfsutils

2.查看当前调节器

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

3.关闭ondemand服务

systemctl stop ondemand
systemctl disable ondemand

4.然后更改sysfutils启动文件/etc/sysfs.conf

vim /etc/sysfs.conf

有多少个CPU,就添加对应数量的代码,并更改*为对应的CPU编号

devices/system/cpu/cpu*/cpufreq/scaling_governor = performance

例如,有4个CPU,在sysfs.conf文件中添加如下代码:

devices/system/cpu/cpu0/cpufreq/scaling_governor = performance
devices/system/cpu/cpu1/cpufreq/scaling_governor = performance
devices/system/cpu/cpu2/cpufreq/scaling_governor = performance
devices/system/cpu/cpu3/cpufreq/scaling_governor = performance

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文