📋 引言
在 Linux 系统中,CPU 性能模式直接影响服务器的运行效率。对于需要高性能的场景(如游戏服务器、高并发服务),将 CPU 调节至高性能模式能显著提升处理能力。本文将详细介绍如何使用 cpufrequtils
工具从安装到配置的完整流程,包括手动逐核心设置和自动脚本配置两种方式。
注意事项:请确认你的系统是Ubuntu/Debian,如果你使用的是CentOS/RHEL 7,请把apt换成yum
原频率:
cpu MHz : 2100.001
cpu MHz : 2100.001
修改后:
cpu MHz : 2593.902
cpu MHz : 2593.825
📦 一、安装 cpufrequtils 工具
cpufrequtils
是管理 CPU 频率调节的实用工具,支持查询和设置 CPU 运行模式(如高性能、节能等)。根据不同 Linux 发行版,安装命令有所差异:
更新软件源
sudo apt update
安装 cpufrequtils
sudo apt install -y cpufrequtils
💡 提示:安装完成后,可通过 cpufreq-info --version
验证是否安装成功,若显示版本信息则说明安装正常。
⚙️ 二、核心概念:CPU 调节模式
CPU 主要有以下几种常见调节模式( governor ):
- performance:高性能模式,CPU 始终运行在最高频率,适合对性能要求高的场景。
- powersave:节能模式,CPU 以最低频率运行,适合低负载、省电场景。
- ondemand:按需调节,根据负载自动升降频率(默认模式)。
- userspace:允许用户手动设置固定频率。
本文重点讲解如何配置 performance 模式。
🔧 三、手动为单个 CPU 核心设置高性能模式
若需精细化控制每个核心的模式(如只让部分核心运行在高性能模式),可按以下步骤操作:
3.1 查看 CPU 核心数量
首先确定服务器有多少个 CPU 核心:
查看核心总数
nproc
示例输出(8核CPU):
8
核心编号从 0 开始(如 8 核对应编号 0~7)。
3.2 手动逐核心设置高性能模式
使用 cpufreq-set
命令,通过 -c
参数指定核心编号:
格式:sudo cpufreq-set -c 核心编号 -g performance
示例:为 0~7 号核心分别设置高性能模式
sudo cpufreq-set -c 0 -g performance
sudo cpufreq-set -c 1 -g performance
sudo cpufreq-set -c 2 -g performance
sudo cpufreq-set -c 3 -g performance
sudo cpufreq-set -c 4 -g performance
sudo cpufreq-set -c 5 -g performance
sudo cpufreq-set -c 6 -g performance
sudo cpufreq-set -c 7 -g performance
3.3 验证单个核心的模式
检查指定核心是否已切换为 performance 模式:
# 查看 0 号核心模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 查看 3 号核心模式
cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
若输出为 performance,则设置成功。
⚠️ 注意:手动设置仅对当前会话有效,服务器重启后会恢复默认模式。
🚀 四、自动脚本:批量设置所有核心为高性能模式
若需一次性配置所有核心,可使用脚本批量操作,效率更高。
#假设你是4核心
for i in {0..3}; do sudo cpufreq-set -c $i -g performance; done
#假设你是2核心
for i in {0..1}; do sudo cpufreq-set -c $i -g performance; done
4.3 验证所有核心的模式
# 查看所有核心的当前模式
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
若所有输出均为 performance,则批量设置成功。
🔄 五、设置永久生效(重启不失效)
上述方法在服务器重启后会失效,若需永久生效,可通过系统服务实现:
5.1 创建 systemd 服务文件
sudo nano /etc/systemd/system/cpu-performance.service
服务内容如下:
[Unit]
Description=Set all CPU cores to performance mode on boot
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'for core in $(seq 0 $(($(nproc) - 1))); do echo performance > /sys/devices/system/cpu/cpu$core/cpufreq/scaling_governor; done'
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
5.2 启用并启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable cpu-performance.service
# 立即生效
sudo systemctl start cpu-performance.service
5.3 验证服务状态
# 查看服务是否正常运行
sudo systemctl status cpu-performance.service
若显示 active (exited)
则说明服务生效。
📊 六、查看 CPU 频率验证性能模式
设置完成后,可通过以下命令查看 CPU 实时频率,验证高性能模式是否真正生效:
6.1 列出所有 CPU 核心的主频信息。(所有核心)
# 当前最大和最小的频率
lscpu | grep -E 'MHz|Model name'
6.2 查看实时频率(对比参考)
# 推荐使用的查看方式
cat /proc/cpuinfo | grep "cpu MHz"
#使用 dmidecode 命令可以从系统的 DMI(Desktop Management Interface)表中提取硬件信息,包括 CPU 的主频。
sudo dmidecode -t processor | grep "Current Speed"
6.3 实时监控频率变化
# 每 1 秒刷新一次频率信息
watch -n 1 "grep . /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq"
(按 Ctrl+C 退出监控)
✅ 成功标志:高性能模式下,CPU 频率会接近或达到 cpuinfo_max_freq
数值,显著高于节能模式下的频率。
⚠️ 七、注意事项
重要提示
- 🎛️ 高性能模式会增加 CPU 功耗和温度,确保服务器散热良好,避免过热。
- ☁️ 部分云服务器或虚拟机可能限制 CPU 频率调节功能,设置后可能不生效。
- 🔄 若需恢复默认模式,将命令中的
performance
替换为ondemand
或powersave
即可。 - 🔧 不同 CPU 型号的最大频率不同,以实际硬件支持为准。
📝 八、总结
通过 cpufrequtils
工具,我们可以灵活控制 Linux 服务器的 CPU 性能模式:
- ✋ 手动模式适合精细化调节单个核心,满足特殊场景需求;
- 🤖 自动脚本和系统服务适合批量配置,确保所有核心高效运行且重启不失效。
根据实际业务需求选择合适的配置方式,可在性能与能耗之间取得最佳平衡。`;