过去几天,我的电脑一直卡在最大频率。我的规格 Ubuntu 18.04 服务器(无头)i3-8350k ROG Strix z370 游戏主板,带 Wifi 32GB RAM
我尝试使用 tlp 启用省电模式以便在空闲时降频,但没有任何效果。i7z 显示我的核心卡在 C0 模式:
Real Current Frequency 4011.98 MHz [100.18 x 40.05] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % Temp VCore
Core 1 [0]: 4011.98 (40.05x) 100 0 0 0 53 1.1639
Core 2 [1]: 4011.98 (40.05x) 100 0 0 0 55 1.1639
Core 3 [2]: 4011.98 (40.05x) 100 0 0 0 56 1.1639
Core 4 [3]: 4011.97 (40.05x) 100 0 0 0 55 1.1639
我可以手动强制我的 CPU 达到 800Mhz 或更高,但我真的希望在低使用率期间有动态时钟,这很常见,因为这台 PC 用作我的网络的路由器。
我的 /etc/default/tlp.conf 输出
sudo tlp-stat -c
--- TLP 1.1 --------------------------------------------
+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_SCALING_GOVERNOR_ON_AC=powersave
CPU_SCALING_MIN_FREQ_ON_AC=20
CPU_SCALING_MAX_FREQ_ON_AC=100
CPU_HWP_ON_AC=power
CPU_HWP_ON_BAT=balance_power
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_BOOST_ON_AC=0
SCHED_POWERSAVE_ON_AC=1
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=balance-power
ENERGY_PERF_POLICY_ON_BAT=power
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 50"
DISK_APM_LEVEL_ON_BAT="128 128"
DISK_SPINDOWN_TIMEOUT_ON_AC="0 300"
SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
AHCI_RUNTIME_PM_TIMEOUT=15
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
USB_AUTOSUSPEND=1
USB_BLACKLIST_BTUSB=0
USB_BLACKLIST_PHONE=0
USB_BLACKLIST_PRINTER=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
sudo tlp-stat -s
--- TLP 1.1 --------------------------------------------
+++ System Info
System = System manufacturer System Version System Product Name
BIOS = 1002
Release = Ubuntu 18.04.1 LTS
Kernel = 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.15.0-32-generic
Init system = systemd v237
Boot mode = UEFI
+++ TLP Status
State = enabled
Last run = 05:43:39 PM, 306 sec(s) ago
Mode = AC
Power source = unknown
我非常希望我的 CPU 在空闲时降频,但它现在不再这样做了。每次我查看 i7z 或 powertop 时,C0 都是 100%,powertop 中的 poll 也接近 100%。同时,Htop 显示任何核心的 CPU 使用率都非常低。
我确信当我安装服务器时动态频率正在工作,但现在它似乎坏了。
此外,我已确保 BIOS 已启用所有省电和 C 状态功能。我不知道还能尝试什么。
答案1
我找到了问题所在。我安装了 tuned,一旦我停止服务,我的 CPU 就会进入省电模式。请注意:tuned 会使你的 CPU 达到最大并保持这种状态。请谨慎使用。
在禁用调整的情况下,空闲 CPU 温度从 55C 降至 40C。