Linux посмотреть частоту процессора

Обновлено: 02.07.2024

Масштабирование производительности ЦП позволяет операционной системе повышать или понижать частоту ЦП для экономии энергии или повышения производительности. Масштабирование может выполняться автоматически в ответ на загрузку системы, самонастраиваться в ответ на события ACPI или изменяться вручную программами пользовательского пространства.

Ядро Linux предлагает масштабирование производительности ЦП через подсистему CPUFreq, которая определяет два уровня абстракции:

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

Драйвер масштабирования и регулятор по умолчанию выбираются автоматически, но инструменты пользовательского пространства, такие как cpupower, acpid, инструменты режима ноутбука или инструменты с графическим интерфейсом, предоставленные для среды вашего рабочего стола, по-прежнему могут использоваться для расширенной настройки.

Содержание

Инструменты пользовательского пространства

термический осадок

thermald — это демон Linux, используемый для предотвращения перегрева процессоров Intel. Этот демон отслеживает температуру и применяет компенсацию, используя доступные методы охлаждения.

По умолчанию он отслеживает температуру ЦП с помощью доступных цифровых датчиков температуры ЦП и поддерживает температуру ЦП под контролем до того, как аппаратное обеспечение предпримет активные корректирующие действия. Если в Thermal sysfs есть датчик температуры кожи, то он старается поддерживать температуру кожи ниже 45°C.

Связанный модуль systemd — thermod.service , который должен быть запущен и включен.

i7z – это инструмент для создания отчетов о процессорах i7 (а теперь и i3, i5, i7, i9) для Linux. Его можно запустить из терминала с помощью команды i7z или в графическом интерфейсе с помощью i7z-gui .

турбостат

turbostat может отображать частоту, энергопотребление, состояние простоя и другую статистику современных процессоров Intel и AMD.

мощность процессора

cpupower – это набор утилит пользовательского пространства, предназначенных для масштабирования частоты процессора. Пакет не обязателен для использования масштабирования, но настоятельно рекомендуется, поскольку он предоставляет полезные утилиты командной строки и службу systemd для изменения регулятора при загрузке.

Файл конфигурации для cpupower находится в /etc/default/cpupower . Этот файл конфигурации считывается сценарием bash в /usr/lib/systemd/scripts/cpupower, который активируется systemd с помощью cpupower.service . Вы можете включить запуск cpupower.service при загрузке.

процессорный графический интерфейс

cpupower-gui AUR — это графическая утилита, предназначенная для помощи в масштабировании частоты ЦП. Графический интерфейс основан на GTK и предназначен для предоставления тех же параметров, что и cpupower. cpupower-gui может изменять максимальную/минимальную частоту ЦП и регулятор для каждого ядра. Приложение обрабатывает предоставление привилегий через polkit и позволяет любому вошедшему в систему пользователю в группе пользователей wheel изменять частоту и регулятор.

power-profiles-daemon

Инструмент командной строки powerprofilesctl от power-profiles-daemon обрабатывает профили питания (например, сбалансированный, энергосберегающий, производительный) через службу power-profiles-daemon. GNOME и KDE также предоставляют графические интерфейсы для переключения профилей; см. следующее:

Дополнительную информацию об использовании, примерах использования и сравнении с аналогичными проектами см. в файле README проекта.

Запустите/включите службу power-profiles-daemon. Обратите внимание, что при запуске powerprofilesctl он также пытается запустить службу (см. состояние модуля dbus.service ).

Примечание. power-profiles-daemon конфликтует с другими службами управления питанием, такими как TLP, настроенный AUR и system76-power AUR . Чтобы вместо этого использовать одну из вышеупомянутых служб, не удаляя power-profiles-daemon (из-за ее потенциального статуса зависимости), отключите службу power-profiles-daemon, замаскировав ее (см. также [1] , [2]).

Драйверы масштабирования

Драйверы масштабирования реализуют специфичные для ЦП детали настройки частот, указанные регулятором. Строго говоря, стандарт ACPI требует состояний мощности и производительности (P-состояний), которые начинаются с P0 и становятся менее производительными. Эта функция называется SpeedStep на Intel и PowerNow! на AMD.

На практике, однако, процессоры предоставляют методы для указания определенных частот, а не ограничиваются фиксированными P-состояниями, которые обрабатываются драйверами масштабирования.

  • Собственный модуль ЦП загружается автоматически.
  • Драйвер масштабирования мощности ЦП intel_pstate автоматически используется для современных ЦП Intel вместо других драйверов, указанных ниже. Этот драйвер имеет приоритет над другими драйверами и является встроенным, а не модулем. Этот драйвер в настоящее время автоматически используется для процессоров Sandy Bridge и более новых. intel_pstate может игнорировать настройки BIOS P-State. intel_pstate может работать в «пассивном режиме» через драйвер intel_cpufreq для старых процессоров.Если вы столкнулись с проблемой при использовании этого драйвера, добавьте intel_pstate=disable в строку ядра, чтобы вернуться к использованию драйвера acpi-cpufreq.
  • Даже на упомянутое выше поведение состояния P можно повлиять с помощью /sys/devices/system/cpu/intel_pstate , например Intel Turbo Boost можно отключить с помощью команды echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo в качестве пользователя root для поддержания низкой температуры процессора.
  • Дополнительный контроль для современных процессоров Intel доступен с помощью программы Linux Thermal Daemon (доступной как Thermald ), которая активно контролирует температуру с помощью P-состояний, T-состояний и драйвера Intel Power Clamp. Thermald также можно использовать для старых процессоров Intel. Если последние версии драйверов недоступны, демон вернется к регистрам, характерным для модели x86, и «подсистеме cpufreq» Linux для управления охлаждением системы.

cpupower требует, чтобы модули знали ограничения собственного ЦП:

Модуль Описание
intel_pstate Этот драйвер реализует Драйвер масштабирования с внутренним регулятором для процессоров Intel Core (Sandy Bridge и новее).
intel_cpufreq Начиная с ядра 5.7 драйвер масштабирования intel_pstate выбирает " пассивный режим», также известный как intel_cpufreq, для процессоров, которые не поддерживают аппаратно-управляемые P-состояния (HWP), т. е. Intel Core i 5-го поколения или старше.
acpi-cpufreq Драйвер CPUFreq, использующий состояния производительности процессора ACPI. Этот драйвер также поддерживает Intel Enhanced SpeedStep (ранее поддерживавшийся устаревшим модулем speedstep-centrino).
speedstep-lib Драйвер CPUFreq для Intel SpeedStep- поддерживаемые процессоры (в основном Atom и более старые Pentium)
powernow-k8 драйвер CPUFreq для процессоров K8/K10 Athlon 64/Opteron/Phenom. Начиная с Linux 3.7 'acpi-cpufreq' будет автоматически использоваться для более современных процессоров AMD.
pcc-cpufreq Этот драйвер поддерживает интерфейс управления тактовой частотой процессора с помощью Hewlett-Packard и Microsoft Corporation, который полезен на некоторых серверах ProLiant.
p4-clockmod Драйвер CPUFreq для процессоров Intel Pentium 4/Xeon/Celeron, который снижает температуру процессора за счет пропуска тактов. (Возможно, вместо этого вы захотите использовать драйвер SpeedStep.)

Чтобы просмотреть полный список доступных модулей, выполните:

Загрузите соответствующий модуль (подробности см. в разделе Модули ядра). После загрузки соответствующего драйвера cpufreq подробную информацию о ЦП можно отобразить, запустив

Установка максимальной и минимальной частот

В некоторых случаях может потребоваться вручную установить максимальную и минимальную частоту.

Чтобы установить максимальную тактовую частоту ( clock_freq – тактовая частота с единицами измерения: ГГц, МГц):

Чтобы установить минимальную тактовую частоту:

Чтобы настроить процессор на заданную частоту:

  • Чтобы настроить только одно ядро ​​ЦП, добавьте -c номер_ядра .
  • Регулятор, максимальная и минимальная частоты могут быть установлены в /etc/default/cpupower .

Кроме того, вы можете установить частоту вручную:

Доступные значения можно найти в /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies или аналогичном. [3]

Настройка повышения частоты

Некоторые процессоры поддерживают повышение частоты выше нормального максимума на короткое время при соответствующих температурных условиях. В процессорах Intel это называется Turbo Boost, а в процессорах AMD — Turbo-Core.

Настройка через sysfs (intel_pstate)

intel_pstate имеет интерфейс для конкретного драйвера, запрещающий переход процессора в турбо-P-состояния:

Настройка через sysfs (другие драйверы масштабирования)

Для драйверов масштабирования, отличных от intel_pstate, если драйвер поддерживает усиление, будет присутствовать атрибут /sys/devices/system/cpu/cpufreq/boost, который можно использовать для отключения/включения повышения:

Настройка через x86_energy_perf_policy

На процессорах Intel x86_energy_perf_policy также можно использовать для настройки Turbo Boost:

Регуляторы масштабирования

Фактическая точность этой статьи или раздела оспаривается.

Причина: существует файл /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors, который содержит энергосбережение производительности при использовании драйвера intel_pstate. Заметка из [4], вероятно, была более точной. Также нигде не описан «активный режим» intel_pstate. (Обсудить в Talk:Масштабирование частоты ЦП)

Примечание. Каждый регулятор совместим с любым драйвером масштабирования. Однако драйвер масштабирования intel_pstate в активном режиме будет обходить регулятор, что делает этот раздел неприменимым.

В зависимости от драйвера масштабирования по умолчанию будет загружен один из этих регуляторов:

  • энергосбережение для процессоров Intel с помощью драйвера intel_pstate (Sandy Bridge и новее).
  • энергосбережение (для Linux schedutil (начиная с Linux 5.10) для процессоров, использующих драйвер acpi-cpufreq.

Предупреждение. Используйте инструменты мониторинга ЦП (температуры, напряжения и т. д.) при изменении регулятора по умолчанию.

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

  • Чтобы настроить только одно ядро ​​ЦП, добавьте -c номер_ядра к приведенной выше команде.
  • Для активации регулятора требуется, чтобы был загружен определенный модуль ядра (с именем cpufreq_губернатор). Начиная с ядра 3.4 эти модули загружаются автоматически.

Кроме того, вы можете вручную активировать регулятор на каждом доступном ЦП:

где говернор — это имя регулятора, упомянутого в приведенной выше таблице, который вы хотите активировать.

Настройка регулятора по требованию

Порог переключения

Чтобы установить порог перехода на другую частоту:

Чтобы установить порог перехода на другую частоту:

Частота выборки

Частота выборки определяет, как часто регулятор проверяет, чтобы настроить ЦП. sample_down_factor — это настраиваемый параметр, который умножает частоту дискретизации, когда ЦП работает на максимальной тактовой частоте, тем самым задерживая оценку нагрузки и повышая производительность. Допустимые значения для sample_down_factor: от 1 до 100 000. Этот параметр не влияет на поведение при более низких частотах/нагрузках ЦП.

Чтобы прочитать значение (по умолчанию = 1), выполните:

Чтобы установить значение, запустите:

Сделать изменения постоянными

Чтобы включить желаемое масштабирование при загрузке, можно использовать параметры модуля ядра и systemd-tmpfiles.

Например, изменение up_threshold на 10:

Однако, как указано в systemd-tmpfiles, в некоторых случаях могут существовать условия гонки, и можно использовать udev, чтобы избежать их. Например:

  • Начиная с Linux 5.9, можно установить параметр ядра cpufreq.default_governor.[7]
  • В качестве альтернативы можно настроить утилиту cpupower и включить ее службу systemd.

Подсказка о производительности и энергопотреблении Intel

Подсказка Intel по производительности и смещению энергопотребления (EPB) — это интерфейс, предоставляемый процессорами Intel, который позволяет пользовательскому пространству указать желаемый компромисс между энергопотреблением и производительностью по шкале от 0 (самая высокая производительность) до 15 (самая высокая экономия энергии). . Регистр EPB — это еще один уровень управления производительностью, функционирующий независимо от масштабирования частоты. Это влияет на то, насколько агрессивным будет выбор P-состояния и C-состояния, и информирует о внутренних решениях, связанных с моделью, которые влияют на потребление энергии.

Регулятор Описание
производительность Запуск процессора на максимальной частоте , полученный из /sys/devices/system/cpu/cpuX/cpufreq/scaling_max_freq .
энергосбережение Запустите ЦП на минимальной частоте, полученной из /sys/devices/system/cpu/cpuX /cpufreq/scaling_min_freq .
userspace Запуск ЦП на заданных пользователем частотах, настраиваемых через /sys/devices/system/cpu/cpu X/cpufreq/scaling_setspeed .
ondemand Динамическое масштабирование частоты в соответствии с текущей нагрузкой. Переход к самой высокой частоте, а затем, возможно, откат по мере увеличения времени простоя.
консервативный Динамическое масштабирование частоты в соответствии с текущей нагрузкой. Масштабирует частоту более плавно, чем по требованию.
schedutil Выбор частоты процессора, управляемый планировщиком [5], [6].
значение EPB строка
0 производительность
4 баланс-производительность
6 нормальный, по умолчанию
8 баланс-мощность
15 мощность

Настройка через sysfs

EPB можно установить с помощью атрибута sysfs:

Настройка через x86_energy_perf_policy

Настройка через cpupower

Внимание: cpupower не поддерживает строковые псевдонимы. Если задана строка, она автоматически установит EPB в 0, что соответствует максимальной производительности.

Другие флаги энергопотребления x86

Включить аппаратные P-состояния с помощью x86_energy_perf_policy:

Установить политику "по умолчанию":

Изменения временные. См. x86_energy_perf_policy(8) для получения дополнительной информации.

Драйвер бездействия процессора

Драйвер простоя процессора intel_idle автоматически используется для современных процессоров Intel вместо драйвера acpi_idle. Этот драйвер в настоящее время автоматически используется для процессоров Sandy Bridge и более новых. Intel_idle может игнорировать настройки BIOS C-State. Если вы столкнулись с проблемой при использовании этого драйвера, добавьте intel_idle.max_cstate=0 в строку ядра.

Взаимодействие с событиями ACPI

Пользователи могут настроить регуляторы масштабирования для автоматического переключения в зависимости от различных событий ACPI, таких как подключение адаптера переменного тока или закрытие крышки ноутбука. Ниже приведен краткий пример, однако, возможно, стоит прочитать полную статью об acpid.

События определяются в файле /etc/acpi/handler.sh. Если пакет acpid установлен, файл уже должен существовать и быть исполняемым. Например, чтобы изменить регулятор масштабирования с производительного на консервативный при отключении адаптера переменного тока и обратно при повторном подключении:

Устранение неполадок

Фактическая точность этой статьи или раздела оспаривается.

Причина: непроверенные и расплывчатые утверждения, множество "некоторых" и "может быть". Элементы устранения неполадок должны решать конкретные проблемы. (Обсудить в Talk:Масштабирование частоты ЦП)

  • Некоторые приложения, такие как ntop, плохо реагируют на автоматическое масштабирование частоты. В случае ntop это может привести к ошибкам сегментации и большому количеству потерянной информации, так как даже регулятор по требованию не может достаточно быстро изменить частоту, когда на контролируемый сетевой интерфейс внезапно поступает много пакетов, которые не могут быть обработаны текущей скоростью процессора. .
  • Некоторые ЦП могут страдать от низкой производительности из-за настроек регулятора по требованию по умолчанию (например, флеш-видео не воспроизводится плавно или анимация окон заикается). Вместо того чтобы полностью отключать масштабирование частоты для решения этих проблем, агрессивность масштабирования частоты можно повысить, уменьшив значение переменной sysctl up_threshold для каждого процессора. Узнайте, как изменить пороговое значение регулятора по требованию.
  • Иногда регулятор по требованию может регулировать частоту не до максимальной, а на один шаг ниже. Это можно решить, установив значение max_freq чуть выше реального максимума. Например, если диапазон частот ЦП составляет от 2,00 ГГц до 3,00 ГГц, рекомендуется установить для параметра max_freq значение 3,01 ГГц.
  • Некоторые комбинации драйверов ALSA и звуковых чипов могут вызывать пропуски звука, поскольку регулятор регулятора переключается между частотами. Возврат к неизменяемому регулятору, по-видимому, останавливает пропуски звука.

Ограничение частоты BIOS

В некоторых конфигурациях ЦП/BIOS могут возникать трудности с масштабированием до максимальной частоты или вообще масштабирование до более высоких частот. Скорее всего, это вызвано тем, что события BIOS сообщают ОС об ограничении частоты, в результате чего /sys/devices/system/cpu/cpu0/cpufreq/bios_limit устанавливается на более низкое значение.

Либо вы только что сделали определенный параметр в утилите настройки BIOS (частота, управление температурным режимом и т. д.), вы можете обвинить глючный/устаревший BIOS, либо у BIOS может быть серьезная причина для дросселирования процессора сама по себе.< /p>

Такие причины могут быть (при условии, что ваша машина — ноутбук) из-за того, что батарея извлечена (или близка к разрядке), поэтому вы работаете только от сети переменного тока. В этом случае слабый источник переменного тока может не обеспечивать достаточное количество электроэнергии для удовлетворения экстремальных пиковых потребностей всей системы, а поскольку нет вспомогательной батареи, это может привести к потере данных, повреждению данных или, в худшем случае, даже к повреждению оборудования!

Не все BIOS ограничивают частоту ЦП в этом случае, но, например, большинство IBM/Lenovo Thinkpads ограничивают. Обратитесь к thinkwiki для получения дополнительной информации по этой теме, связанной с ThinkPad.

Если вы проверили, что это не просто странная настройка BIOS, и вы знаете, что делаете, вы можете заставить ядро ​​​​игнорировать эти ограничения BIOS.

Предупреждение. Убедитесь, что вы прочитали и поняли раздел выше. Ограничение частоты ЦП — это функция безопасности вашего BIOS, и вам не нужно ее обходить.

В модуль процессора должен быть передан специальный параметр.

Чтобы попробовать это, временно измените значение в /sys/module/processor/parameters/ignore_ppc с 0 на 1 .


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

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

Команда Dmseg

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


команда lscpu

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

В выходных данных проверьте «ЦП, МГц».


команда i7z

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

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



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

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

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



команда hwinfo

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


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

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


Вывод:

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

Об авторе

Талья Саиф Малик

Талья является участником Linux Hint и стремится приносить пользу и делать полезные вещи для всего мира. Он любит читать, писать и говорить о Linux, данных, компьютерах и технологиях.

В целом более высокая тактовая частота означает более быстрый процессор. Однако в игру вступают многие другие факторы. Ваш ЦП каждую секунду обрабатывает множество инструкций (низкоуровневых вычислений, таких как арифметика) из разных программ. Тактовая частота измеряет количество циклов, выполняемых вашим процессором в секунду, и измеряется в ГГц (гигагерцах). Технически «цикл» — это импульс, синхронизированный внутренним генератором, но для наших целей это базовая единица, которая помогает понять скорость процессора. Во время каждого цикла миллиарды транзисторов внутри процессора открываются и закрываются.

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

Способ 1. Использование жесткой информации

Hardinfo – это инструмент с графическим интерфейсом пользователя (GUI), который создает отчеты о различных аппаратных компонентах. Он написан на Gtk. Однако, если графический интерфейс недоступен, его также можно запустить из командной строки.

Способы проверки тактовой частоты процессора в Linux

Способ 2. Из /proc/cpuinfo

В системном файле /proc/cpuinfo перечислены все ядра ЦП. Индивидуальная скорость системы.

Способ 3. Использование скрипта Inxi

Inxi – это скрипт Linux, который позволяет распечатать сведения об оборудовании системы. Чтобы распечатать сведения о процессоре, используйте команду inxi с параметром «-C»:

Использование скрипта Inxi

Метод 4: Использование hwinfo

В Linux команда hwinfo выводит подробные сведения о каждом аппаратном блоке.

Способы проверки тактовой частоты процессора в Linux

Способ 5: Использование lscpu

Lscpu – это команда Linux, которая отображает сведения об архитектуре процессора. Эта инструкция содержится в пакете util-linux.

Способы проверки тактовой частоты процессора в Linux

Способ 6: Использование Dmesg

Dmesg отображает сообщения из кольцевого буфера ядра и выводит их в /var/log/messages в Linux.

Способ 7: использование i7z

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

Способы проверки тактовой частоты процессора в Linux

В системах на базе Linux, таких как Ubuntu, Fedora, Debian, CentOS и других, это были некоторые команды для проверки скорости процессора.

Я нашел две команды для вывода информации о моем процессоре: cat /proc/cpuinfo и lscpu . /proc/cpuinfo показывает, что скорость моего процессора составляет 2,1 ГГц, тогда как lspcu говорит, что она составляет 3167 МГц. Какой из них правильный?

Это мой точный вывод из cat /proc/cpuinfo о скорости моего процессора:

А это из lscpu :

(По какой-то причине lscpu каждый раз выдает разные значения, варьирующиеся между 3100 и 3300 МГц)

В вашем /proc/cpuinfo также должна быть строка cpu MHZ: . какая текущая скорость. 2.1 после @ — это базовая скорость (без турбонаддува).

Это способ Intel «давить на газ», когда это необходимо. Я предполагаю, что ваша фактическая скорость в то время действительно была около 3,2 ГГц, вы также можете попробовать, например. для cpu0 с помощью cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (от имени root).

Turbo Boost – это технология, которая изменяет частоту процессора в зависимости от количества используемых вами ядер. Если вы используете несколько ядер, частота увеличивается для повышения производительности и поддержания низкой температуры. Вы можете проверить таблицы частоты Turbo Boost, чтобы узнать, как она увеличивается.

5 ответов 5

Чтобы увидеть текущую скорость каждого ядра, я делаю следующее:

Примечание:

Если ваша команда наблюдения не работает с интервалами меньше одной секунды, измените интервал следующим образом:

Отображает скорость процессора каждого ядра в режиме реального времени.

Выполнив следующую команду один или несколько раз с другого терминала, можно увидеть изменение скорости с помощью приведенной выше команды watch, при условии, что SpeedStep включен ( Cool'n'Quiet для AMD ).

(Эта команда использует bc для вычисления числа пи до 10 000 знаков.)


Мне пришлось удалить файл . в вашей первой команде, чтобы заставить его работать: watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

это отличный способ сделать это, но я бы предостерег от запуска какой-либо команды каждые 0,1 секунды, поскольку это само по себе повлияет на отчет о скорости процессора. 1 секунды достаточно.

@Lizardx Обычно я согласен, но в этом случае скорость ЦП может увеличиваться и уменьшаться быстрее, чем интервал в 1 секунду, что приводит к отсутствию видимых изменений скорости. Поскольку современные процессоры такие быстрые, я сначала подумал, что мой SpeedStep не работает при использовании 1 секунды в качестве интервала. Как минимум, следует использовать 0,5, если вы не хотите двигаться так быстро, как 0,1 секунды (хотя я все еще не видел многих изменений скорости с такой скоростью.

Попробуйте запустить top с таймерами, установленными менее чем на 1 секунду, вы можете наглядно увидеть загрузку процессора. Я предполагаю, что на самом деле вы можете видеть, что система генерирует информацию о скорости вашего процессора, то есть генерация выходных данных о скорости процессора вызывает движение процессора. Я считаю, что все, что меньше секунды, начинает напрямую влиять на скорость процессора, которую вы наблюдаете. Например, top при -d5 составляет 1% процессора. При -d2 это около 5%. Вы можете обнаружить, что на самом деле обманываете себя, думая, что процессор делает то, что вы заставляете его делать, хех. Вывод в оболочку тоже стоит дорого.

Можно попробовать watch -n0.1 , может сработать. Если это не так, хотя это правда; сделать кот /proc/cpuinfo | grep МГц; сон 0,1; Чисто; done , он больше мерцает, чем смотрит.

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

Со страницы руководства (описание):

i7z запускает программу i7z, основанную на ncurses, без каких-либо параметров. i7z распечатает C-состояния и температуру для процессоров Core на базе i3, i5 и i7 от Intel (включая Nehalems, Sandy Bridge и Ivy Bridge).

Для дистрибутивов на основе Ubuntu вы можете установить его, введя эту команду:

затем просто запустите его (инструмент нужно запускать с помощью sudo):


Это лучшее решение, если у вас процессор Intel. Cat'ing cpuinfo дает вам неверные тактовые частоты. Просто примечание: вы забыли поставить тире в «apt-get».

Хорошо. он работает с моим процессором Xeon, только выходные данные искажены, возможно, потому, что у меня два процессора (у меня материнская плата с двумя процессорами Xeon).

К сожалению, i7z не работает должным образом на моем Core i7-1165G7 — пишет "неизвестный процессор" (среди прочего) и прерывает работу.

Процессор Intel Core i7-4600U поддерживает технологию Turbo Boost. Его базовая частота равна 2.10 ГГц и максимальная частота Turbo 3,30 ГГц. Это означает, что

  • Если вы отключите Turbo Boost (в меню настройки BIOS), ЦП все время будет работать на частоте 2,10 ГГц.
  • Если включен режим Turbo Boost и работает только одно ядро, процессор будет работать на максимальной частоте 3,30 ГГц.
  • Если включен режим Turbo Boost и все ядра работают, процессор будет работать на частоте 2,10 ГГц.

Получение текущей частоты

Чтобы определить, активирован ли режим Turbo Boost и какова текущая частота, можно использовать cpupower Frequency-Info . Например, для старого Intel Core i5-660 с включенным Turbo Boost вы получите следующее.

Обратите внимание, что в информации указаны аппаратные пределы (1,20–3,47 ГГц), возможные частоты (3,47 ГГц, 3,33 ГГц, 2,53 ГГц, 1,87 ГГц, 1,20 ГГц) и текущая частота (1,87 ГГц). Техническую информацию об этих частотах можно найти на веб-сайте Intel.

Частота при отключенном TurboBoost

Обратите внимание на разницу, когда вы запускаете ту же команду с отключенным Turbo Boost: в разделе поддержки состояния ускорения значения для Supported и Active равны no . Здесь ЦП будет все время иметь номинальное/минимальное значение (1,20 ГГц).

Вы можете отключить Turbo Boost с помощью BIOS или некоторых параметров/команд Linux. Поддержка ядра может быть включена/отключена с помощью файла /sys/devices/system/cpu/cpufreq/boost.

Читайте также: