zaLinux.ru

Как посмотреть текущую частоту процессора в Linux


Оглавление

1. i7z

2. Показ максимальной, минимальной и текущей частоты процессора с lscpu

3. Частота каждого ядра процессора в Linux

4. Просмотр частоты процессора независимо от дистрибутива и установленных программ

5. Другие способы


Системный монитор или программа top показывают относительную загруженность центрального процессора. Иногда нужно (или просто хочется) посмотреть частоту CPU в данный момент. В этой заметке я расскажу, как узнать, на какой частоте работает процессор в Linux, а также другие его характеристики, такие как температуру и напряжение.

i7z

Самой наглядной программой для просмотра частоты центрального процессора в реальном времени является i7z.

Установка в Ubuntu, Linux Mint, Kali Linux, Debian и их производные:

sudo apt install i7z

Для установки в Arch Linux, BlackArch и их производные:a

sudo pacman -S i7z

Запуск:

sudo i7z

Программа постоянно обновляет данные и интерактивно показывает такие характеристики процессора для каждого ядра как:

  • текущую частоту
  • текущую загруженность
  • напряжение в данный момент

В самом верху показана базовая частота процессора из cpuinfo, у меня на скриншоте это 2208.00Mhz.

Затем идёт настоящая частота (без учёта Turbo).

Также показан CPU Multiplier и Bus clock frequency (BCLK).

Далее идёт информация о сокетах — обычно в домашних компьютерах только один сокет, он обозначается цифрой 0. Также сказано, сколько ядер и сколько логических ядер.

Строка мультипликатор (Max TURBO Multiplier) содержит информацию о том, как умножается частота шины (Bus clock frequency (BCLK)) при Турбо ускорении (Turbo Boost) в зависимости он нагрузки на ядра. В моём скриншоте 41x/41x/40x/40x/39x/39x показывает умножение при нагрузке на соответствующее число ядер 1/2/3/4/5/6. То есть при нагрузке на 1 или 2 ядра, умножение будет 41x, соответственно максимальная частота 100.32 * 41 = 4113,12, то есть максимальная частота 4.1 Гигагерц. При нагрузке на шесть ядер: 100.32 * 39 = 3912,48, то есть максимальная частота 3.9 Гигагерц.

Real Current Frequency — это реальная текущая частота.

Далее идёт таблица со следующими полями:


  • Core [core-id] — номер ядра
  • Actual Freq (Mult.) — текущая частота
  • C0% — Загруженность процессора в процентах
  • Halt(C1)% — Работа процессора с остановками (Состояния когда >C0 означает режимы энергосбережения с холостым ходом)
  • C3 % — Ядра, работающие с PLL, отключены, и кэш ядра отключён
  • C6 % — Как C3 + состояние ядра сохраняется в кэше последнего уровня
  • C7 % — как и C6, но глубже
  • Temp — температура в данный момент на каждое ядро
  • Vcore — напряжение в данный момент на каждое ядро

Данные в таблице меняются каждую секунду. [core-id] соответствует числу core-id в /proc/cpuinfo

Сообщение 'Garbage Values' выводиться когда считываются «мусорные» (которые невозможно интерпретировать) значения.

Внешний вид i7z основан на ncurses. Обычно программ запускается без опций, но при желании вы можете настроить ведение журнала и отключить интерфейс.

i7z поддерживает следующие опции:

Дописать файл журнала:

i7z --write a

Или:

/i7z -w a

Вместо дозаписи, начать журнал заново (старый стирается):

i7z --write l

Или:


/i7z -w l

Или:

/i7z -l filename

Указать определённый сокет для печати:


i7z --socket0 X

Чтобы выводить информацию о центральном процессоре на втором сокете:

i7z --socket1 X

Чтобы отключюить ncurses GUI (графический интерфейс):

i7z --nogui

Пример: чтобы печать информацию о процессорах в двух сокетах и также заменить файл журнала:

i7z --socket0 0 --socket1 1 -logfile /tmp/logfilei7z -w l

Программа i7z очень наглядная и, пожалуй, самая удобная, если нужно посмотреть информацию о центральном процессоре на данный момент, но у неё есть свои недостатки. Для некоторых современных моделей неправильно определяется поколение процессора. Из-за особенностей программы показывать только ядра (а не логические ядра), при нагрузке на одно ядро может возникнуть ситуация, что это ядро будет отсутствовать в списке. То есть система явно загружена, вентилятор шумит, частоты на максимуме, но i7z показывает, что все ядра в простое. Поскольку система время от времени переключает нагрузку на другое ядро при интенсивном использовании однопоточным процессом, то активное ядро, то появляется, то пропадает в i7z. Поскольку i7z уже 5 лет не обновляется, шансов, что эти баги будут когда-либо исправлены, немного.

Показ максимальной, минимальной и текущей частоты процессора с lscpu

Используя команду lscpu, можно вывести информацию о поддерживаемом процессоре диапазоне частот, а также о том, какая частота у процессора в данный момент:

lscpu | grep MHz

Чтобы показать только текущую частоту CPU:

lscpu | grep 'CPU MHz' | awk '{ print $3; }'

Чтобы постоянно обновлять данные о текущей частоте процессора:

watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"

Частота каждого ядра процессора в Linux

Чтобы показать частоту для каждого ядра центрального процессора, выполните команду:

cat /proc/cpuinfo | grep "MHz"

Если вы хотите, чтобы информация о текущей частоте постоянно обновлялась, то запустите команду:

watch -n1 "cat /proc/cpuinfo | grep \"MHz\""

Просмотр частоты процессора независимо от дистрибутива и установленных программ

Следующий способ является самым универсальным, должен работать на всех дистрибутивах по умолчанию:

sudo watch -n 1 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

в результате будет показываться частота для каждого ядра процессора.

Другие способы

Рассмотренных способов уже должно хватить с избытком. Если вам всё равно мало, то вот ещё. Обратите внимание, что некоторые из упомянутых программ вам нужно будет сначала установить.

С помощью lshw:

sudo lshw -c cpu

Более точно:

sudo lshw -c cpu | grep capacity

С помощью dmidecode:

sudo dmidecode -t processor

Более точно:

sudo dmidecode -t processor | grep "Speed"

Оверклокеры обращают внимание, что только команда dmidecode показывает правильные значения, если процессор разогнан.


С помощью графического аплета Conky можно получи такую наглядную картину:

Индикатор частоты процессора indicator-cpufreq:


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *