Процессор застрял в режиме энергосбережения
Несколько дней назад мой компьютер начал чувствовать себя очень медленно, и, глядя на загрузку процессора, я увидел, что даже самые простые процессы требуют много ресурсов процессора.
Насколько я могу судить, это происходит потому, что все ядра работают на частоте 800 МГц и больше не будут работать, когда это необходимо.
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
В качестве теста я затем запускаю BOINC, чтобы загрузить все свои ядра до максимума, используя htop, я вижу, что все ядра работают на> 95%.
Настройки масштабирования моего процессора:
$ for governor in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor); do cat $governor; done
ondemand
ondemand
ondemand
ondemand
С 'ondemand, я ожидаю, что ядро заработает, и перейдет на полную мощность, но watch
показывает их стабильно на 800.
Чтобы получить лучшую производительность, мне нужно вручную форсировать это:
sudo bash -c 'for governor in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor); do
echo"performance" > $governor;
done'
Whch сразу меняет частоту на:
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 2701.000
cpu MHz : 2701.000
cpu MHz : 2701.000
cpu MHz : 2701.000
1 ответ
cat /proc/cpuinfo | grep MHz
(или же grep MHz /proc/cpuinfo
) покажет только стандартные тактовые частоты.
Если вам нужны живые настройки частоты процессора, вам нужно что-то более громкое. я знаю powertop
работает, но для чего-то удобного все время, indicator-cpu
может стоить того
sudo apt-get install indicator-cpufreq
indicator-cpufreq
Вам нужно будет добавить indicator-cpufreq
для запуска при запуске, или вам придется запускать его вручную при каждом входе в систему.