У меня есть несколько компьютеров с Linux 2.6, в основном на которых работают RHEL и SUSE. Я точно знаю, что на машинах RHEL есть энергосбережение через регулятор процессора. Когда регулятор ondemand срабатывает, / proc / cpuinfo показывает текущую скорость процессора и больше не показывает максимум, что ограничивает его полезность для меня. Dmidecode показывает максимальную скорость, но требует root-доступа или привилегий (что является обузой в этой среде).
Помимо этих двух вариантов, есть ли какие-либо способы получить эту информацию без необходимости root-доступа?
В качестве дополнения: существует / sys / devices / system / cpu / cpu0 / cpufreq / cpuinfo_max_freq (для всех ядер) на машинах, где я вижу разные тактовые частоты для экономии энергии. Кто-нибудь знает, если этот файл не существует, тогда / proc / cpuinfo гарантированно покажет максимальную скорость?
Если /sys/devices/.../cpuinfo_max_freq
не существует, это означает, что драйвер cpufreq не загружен, поэтому ЦП должен работать на полной скорости. Так что да, / proc / cpuinfo должен быть правильным в этой ситуации.
в дополнение к комментарию Марцина: второе число в cpufreq-info -c 0 -l, деленное на 1000, дает вам максимальную МГц
Я использую / usr / bin / cpufreq-info, чтобы получить текущую скорость и статистику процессоров.
На моих машинах dmidecode перечисляет текущую и максимальную скорость процессора (ов), например
mas@desktop:~$ cat /proc/cpuinfo| grep MHz
cpu MHz : 1735.601
mas@desktop:~$ sudo dmidecode | grep MHz
External Clock: 133 MHz
Max Speed: 1800 MHz
Current Speed: 1733 MHz
Возможно, стоит попробовать в вашей системе.
Сначала вам нужно загрузить несколько модулей: acpi_cpufreq freq_table
Затем вы устанавливаете cpufrequtils
пакет и запустить cpufreq-info
и он сообщит вам минимальную, максимальную и все возможные промежуточные скорости.
lscpu
отображает текущую, минимальную и максимальную частоту процессора и не требует привилегий root.