插件窝 干货文章 Linux性能调优之用电调优(Power Usage Tuning)

Linux性能调优之用电调优(Power Usage Tuning)

sudo 设置 bash 查看 101    来源:    2025-05-13

Linux 性能调优之用电调优 (Power Usage Tuning)

概述

在移动设备和服务器环境中,电力消耗是一个重要考量因素。Linux 提供了多种工具和技术来优化电力使用,同时保持系统性能。以下是详细的用电调优方法。

1. CPU 频率调节

1.1 查看当前调节器

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

1.2 可用调节器

  • performance: 最高性能,不考虑功耗
  • powersave: 最低功耗,可能降低性能
  • ondemand: 按需调节(默认)
  • conservative: 更保守的按需调节
  • schedutil: 基于调度器的调节(较新内核)

1.3 设置调节器

# 临时设置
echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# 永久设置(需要安装cpufrequtils)
sudo apt install cpufrequtils
sudo nano /etc/default/cpufrequtils
# 添加: GOVERNOR="powersave"
sudo systemctl restart cpufrequtils

2. 动态时钟调节 (Tickless Kernel)

现代 Linux 内核默认启用 NO_HZ (Tickless)模式:

# 检查是否启用
cat /boot/config-$(uname -r) | grep NO_HZ

3. 处理器 C-states 和 P-states

3.1 检查当前状态

# 查看C-states
cat /proc/acpi/processor/CPU*/power | grep C-state

# 查看P-states
cpupower frequency-info

3.2 调节工具

# 安装工具
sudo apt install linux-tools-common linux-tools-generic

# 查看所有CPU信息
sudo cpupower monitor

# 设置最大C-state
sudo cpupower idle-set -d 3  # 限制到C3

4. PCIe ASPM (Active State Power Management)

# 检查当前ASPM设置
lspci -vv | grep ASPM

# 启用ASPM(在grub配置中添加)
sudo nano /etc/default/grub
# 修改: GRUB_CMDLINE_LINUX_DEFAULT="... pcie_aspm=force"
sudo update-grub

5. 磁盘电源管理

5.1 查看当前设置

sudo hdparm -I /dev/sda | grep AdvancedPowerManagement

5.2 设置APM级别

sudo hdparm -B 127 /dev/sda  # 1-127, 越低越省电(可能影响性能)

5.3 设置磁盘休眠

sudo hdparm -S 60 /dev/sda  # 5秒后休眠(值=5x12秒)

6. USB自动挂起

# 查看当前设置
cat /sys/module/usbcore/parameters/autosuspend

# 启用自动挂起(在grub配置中添加)
sudo nano /etc/default/grub
# 修改: GRUB_CMDLINE_LINUX_DEFAULT="... usbcore.autosuspend=1"
sudo update-grub

7. 网络设备节能

7.1 以太网节能

# 查看支持的功能
ethtool --show-eee eth0

# 启用EEE(Energy Efficient Ethernet)
sudo ethtool --set-eee eth0 eee on

7.2 WiFi节能

# 查看当前模式
iw dev wlan0 get power_save

# 设置节能模式
sudo iw dev wlan0 set power_save on

8. 图形界面调优

8.1 Intel GPU

# 查看当前设置
cat /sys/class/drm/card0/power/rc6_enable

# 启用RC6电源状态
echo "1" | sudo tee /sys/class/drm/card0/power/rc6_enable

8.2 NVIDIA GPU

# 使用nvidia-smi设置
sudo nvidia-smi -pm 1  # 启用持久模式
sudo nvidia-smi -pl 100  # 设置功率限制(瓦特)

9. 系统级工具

9.1 TLP (高级电源管理工具)

sudo apt install tlp tlp-rdw
sudo systemctl enable tlp
sudo systemctl start tlp

# 查看状态
sudo tlp-stat -s

9.2 Powertop

sudo apt install powertop
sudo powertop --auto-tune  # 自动优化
sudo powertop --html=report.html  # 生成报告

10. 内核参数调优

/etc/sysctl.conf 中添加:

# 减少交换倾向(更多使用RAM)
vm.swappiness=10

# 减少磁盘写回频率
vm.dirty_writeback_centisecs=1500
vm.dirty_expire_centisecs=3000

监控工具

  1. PowerTOP: 实时监控功耗
  2. s-tui: 终端系统监控 bash pip install s-tui s-tui
  3. Battery stats(笔记本): bash upower -i /org/freedesktop/UPower/devices/battery_BAT0

注意事项

  1. 服务器和移动设备的优化策略不同
  2. 某些优化可能影响性能,需根据场景权衡
  3. 更改前建议备份配置文件
  4. 某些设置可能需要重启生效

通过综合应用这些技术,可以显著降低 Linux 系统的电力消耗,特别是在移动设备和边缘计算场景中效果尤为明显。