cat /proc/cpuinfo | grep MHz
cpu MHz : 1000.000
cpu MHz : 1000.000
Процессор работает на частоте намного ниже заявленной (которая порядка 3 GHz), т.к. нагрузка на процессор была мала и он снизил обороты. За это отвечает механизм "cpu frequency scaling".
У ядра есть ряд переменных, в которых можно узнать чуть больше о работе этого механизма:
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq # текущая частота кристалла
1000000
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq # максимальная частота кристалла
2800000
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq # минимальная частота кристалла
1000000
А теперь немного протестируем механизм, нагрузив процессор:
perl -e 'while(1){}' &
И вот сразу же частота стала нормальной:
cat /proc/cpuinfo | grep MHz
cpu MHz : 2800.000
cpu MHz : 2800.000
Убиваем тестовый процесс:
killall -9 -r perl
И частота снова стала низкой:
cat /proc/cpuinfo | grep MHz
cpu MHz : 1000.000
cpu MHz : 1000.000
Для управления этим механизмом используется утилита cpufreq:
yum -y install cpufreq-utils
Рекомендуемым механизмом управления частотй (их несколько: ondemand, userspace, performance) для серверов является "ondemand", для его насильного выбора настраиваем систему так:
vi /etc/rc.localдобавляем следующее:
cpufreq-set -g ondemand >> /dev/null
Ну вот и все :)
No comments :
Post a Comment
Note: only a member of this blog may post a comment.