Loading

把Ubuntu/Debian系统设置为高性能模式

fghdlz
9月7日发布 /正在检测是否收录...

📋 引言

在 Linux 系统中,CPU 性能模式直接影响服务器的运行效率。对于需要高性能的场景(如游戏服务器、高并发服务),将 CPU 调节至高性能模式能显著提升处理能力。本文将详细介绍如何使用 cpufrequtils 工具从安装到配置的完整流程,包括手动逐核心设置和自动脚本配置两种方式。

注意事项:请确认你的系统是Ubuntu/Debian,如果你使用的是CentOS/RHEL 7,请把apt换成yum

mf93z5v6.png

原频率:
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 替换为 ondemandpowersave 即可。
  • 🔧 不同 CPU 型号的最大频率不同,以实际硬件支持为准。

📝 八、总结

通过 cpufrequtils 工具,我们可以灵活控制 Linux 服务器的 CPU 性能模式:

  • ✋ 手动模式适合精细化调节单个核心,满足特殊场景需求;
  • 🤖 自动脚本和系统服务适合批量配置,确保所有核心高效运行且重启不失效。

根据实际业务需求选择合适的配置方式,可在性能与能耗之间取得最佳平衡。`;

喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消
隐藏
换装