cpu性能模式
一台物理服务器使用时候,如果发现明显的延迟,就连ping都比平时慢很多,那么怀疑点可以放在cpu的性能模式上,或者说,可以关注一下cpufreq,即cpu的使用频率。一台服务器出厂之后,bios如果没有初始化,可能五花八门的cpu频率设置,服务上生产后,可能就会发生一些意想不到的问题。不过好在可以直接在线修改。
cpufreq的五种模式
五种模式本质上表示的是对cpu频率的五种策略
- userspace 让用户态的程序可以通过接口动态调整cpufreq
- conservative 动态调整,load高则高频,load低则低频
- ondemand 也是动态调整,不过比较极端,cpufreq一使用则立刻最高,用完直接最低
- powersave CPU会固定工作在其支持的最低运行频率上
- performance CPU会固定工作在其支持的最高运行频率上
查看和修改
查看当前策略最简单的是直接cat
# 查看当前单core的策略
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 查看单core的最高频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# 查看单core的最低频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
# 查看当前单core的实时频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
# 查看当前cpu支持的模式
cpupower frequency-info
# 查看所有的cpu频率
cat /proc/cpuinfo |grep MHz
# 修改策略
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cpupower
cpupower 是一组为辅助 CPU 调频而设计的用户空间工具。
# 安装
yum install cpupowerutils -y
# 查看当前所有CPU的信息
cpupower -c all frequency-info
# 设置所有CPU为性能模式
cpupower -c all frequency-set -g performance
# 设置所有CPU为节能模式
cpupower -c all frequency-set -g powersave
# 设置单个CPU为性能模式
cpupower -c 0 frequency-set -g performance
# 设置单个CPU为节能模式
cpupower -c 0 frequency-set -g powersave