一台物理服务器使用时候,如果发现明显的延迟,就连ping都比平时慢很多,那么怀疑点可以放在cpu的性能模式上,或者说,可以关注一下cpufreq,即cpu的使用频率。一台服务器出厂之后,bios如果没有初始化,可能五花八门的cpu频率设置,服务上生产后,可能就会发生一些意想不到的问题。不过好在可以直接在线修改。
五种模式本质上表示的是对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 是一组为辅助 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