Перейти к содержимому

Как узнать частоту процессора linux

  • автор:

Как узнать частоту процессора в Linux?

Центральный процессор (CPU) считается важным компонентом любой системы. Его также называют «мозгом компьютера», потому что он обрабатывает все виды операций по обработке данных. ЦП встроен в любую систему на основе различных спецификаций; частота является одним из них. Частота процессора также известна как тактовая частота или тактовая частота. Тактовая частота вашего ЦП определяет, насколько быстро он может обрабатывать инструкции в секунду. Это единица измерения производительности процессора, выраженная в МГц или ГГц.

Но задумывались ли вы когда-нибудь узнать, какой процессор у вашего компьютера и как быстро он работает? Существует много причин, по которым вы хотели бы знать, какой процессор у вас есть в вашей системе. Возможно, вы устраняете какую-либо аппаратную проблему или загружаете модуль ядра. Какой бы ни была причина, определить скорость и тип процессора из командной строки в Linux довольно просто. Для получения информации о вашем процессоре, включая частоту процессора, можно использовать несколько команд. В этой статье мы собрали некоторые из этих команд, чтобы лучше узнать ваш процессор.

Команда Dmseg

Dmseg используется для отображения сообщений из кольцевого буфера ядра. В следующем примере мы объединили команду Dmseg с grep для фильтрации скорости процессора из другой связанной информации.

$ sudo dmesg | grep MHz

команда lscpu

Команда lscpu поможет вам узнать об архитектуре вашего процессора. Lscpu уже существует в пакете util-Linux. Запишите приведенную ниже команду в своем терминале.

$ sudo lscpu

В выводе проверьте «CPU MHz. ”

команда i7z

i7z — это эксклюзивный инструмент для получения состояния процессора в процессорах на базе Intel, таких как i3, i5 и i7.

Выполнение этой команды предоставит вам следующую информацию:

Получение скорости процессора из файла «/proc/cpuinfo»

Файл «/proc/cpuinfo» содержит все содержимое, относящееся к отдельным ядрам ЦП. Теперь мы будем использовать команды «grep» и «cat», чтобы извлечь из этого файла только информацию о скорости процессора.

$ cat / proc / cpuinfo | grep MHz

Вместо использования «grep» вы также можете использовать команду «less» для той же цели выполнения.

$ less / proc / cpuinfo

команда hwinfo

В терминале можно распечатать подробную информацию о каждом аппаратном устройстве с помощью «hwinfo. Укажем параметр «-cpu» в команде «hwinfo» для отображения только скорости процессора.

$ sudo hwinfo —cpu

инкси-скрипт

inxi — это мощный сценарий Linux, который позволяет вам распечатать информацию об оборудовании системы. Выполните команду inxi в своем терминале с параметром «-C» для отображения информации, связанной с процессором.

$ sudo inxi -C

Заключение:

Благодаря эффективным технологиям у нас появилась потребность в скорости везде, куда бы мы ни пошли. ЦП и его частота или тактовая частота являются наиболее широко связанными характеристиками с высокой производительностью любого компьютера. В этом посте рассматривается, как получить информацию о скорости процессора с помощью различных команд в Linux.

Все права защищены. © Linux-Console.net • 2019-2024

Управляем тактовой частотой процессора

По непонятным причинам, один из моих ноутов (Dell) иногда начинает слишком рьяно экономить энергию. Работать становится невозможно из-за вполне ощутимого торможения.

Здесь я привожу пример, как чинить именно эту проблему. Но если ваша проблема диаметрально противоположная, вы можете воспользоваться этими советами с небольшими модификациями.

Коротко, что делать, чтобы поднять производительность

Смотрим, как сейчас обстоят дела с частотами процессоров:

$ grep -E '^model name|^cpu MHz' /proc/cpuinfo model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2000.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 756.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 756.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2300.000 

Видим, что ни одно ядро не работает в полную силу.

Проверяем, какая сейчас у нас схема энергосбережения.

$ for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; cat $CPUFREQ; done ondemand ondemand ondemand ondemand 

Выставляем схему с максимальной производительностью:

# for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done 
$ grep -E '^model name|^cpu MHz' /proc/cpuinfo model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2701.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2701.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2701.000 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz cpu MHz : 2701.000 

Какие ещё бывают схемы энергосбережения CPU

  • performance — максимальная производительность. В большинстве случаев включена по-умолчанию.
  • ondemand — динамическое изменение тактовой частоты в зависимости от загруженности системы. Часто позиционируется как рекомендуемая. В большинстве случаев, ведёт себя удовлетворительно.
  • conservative — не сильно отличается от ondemand , но старается быть более экономичным
  • powersave — процессор работает всегда на минимальной частоте
  • userspace — тактовая частота процессора задаётся пользователем вручную.

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

Системный монитор или программа 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

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

Как считать частоту процессора

Есть сервер с таким процессором https://ark.intel.com/ru/products/83356/Intel-Xeon-Processor-E5-2630-v3-20M-Cache-2_40-GHz, в спецификации прописан турбобуст до 3.2ГГц. для всех ядер вывод команд одинаков. cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_min_freq 1200000 cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq 3200000 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance если делаю что-либо затратное на одном ядре, то cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq выводит значения равное около 3.2Ггц если делаю что-либо, что грузит все 32 ядра то для каждого ядра получаю cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 2.6Ггц (ожидал тоже получить 3.2Ггц) Я мог бы предположить, что общий буст не работает для логических ядер, и просто считается размазанным по всем ядрам. но тогда бы получалось что частота каждого (3200-2400)*16/32 + 2400 ~ 2.8Ггц

Отслеживать
задан 25 сен 2017 в 19:24
Arthur Akhmetshin Arthur Akhmetshin
23 3 3 бронзовых знака
А в код посмотреть?
25 сен 2017 в 19:28

А кто сказал, что процессор при загрузке всех ядер разгонится на максимум, может он считает, что ему не хватит энергии или теплоотдачи для полного разгона всех ядер на максимум и он принимает решение разгонять их не полностью

25 сен 2017 в 19:33

нет никакого кода. taskset -c 0 /dev/urandom cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 3192375 for i in <0..31>do taskset -c $i md5sum /dev/urandom & done для каждого ядра вывод cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 2599968

Добавить комментарий

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