Я использую CentOS 7 (7.9.2009) (ядро 3.10.0-1160.49.1.el7.x86_64) на довольно старом ноутбуке (Lenove T61) с двухъядерным процессором (Intel(R) Core(TM)2 Duo CPU). T7300 @ 2,00 ГГц). Драйвер для масштабирования ЦП — acpi-cpufreq, и при спектакль Губернатор, я могу заставить ЦП работать на максимальной скорости ЦП, как указано в /sys/устройства/система/процессор/cpufreq/policy0/cpuinfo_max_freq
, и наблюдайте за этим, выполнив:
$ grep -i МГц /proc/cpuinfo
процессор МГц: 2001.000
процессор МГц: 2001.000
и он устойчив на этой скорости.
Я могу проверить это, выполнив:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
2001000
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
2001000
Я пытаюсь работать с постоянной частотой для программы реального времени, которая подсчитывает тактовые циклы процессора для синхронизации. Я скомпилировал специальное ядро (5.10.83-rt58) для поддержки оборудования, которое не поддерживается в ядре CentOS по умолчанию (3.10.0). Масштабирование ЦП обычно вызывает скачки тактовой частоты, но я обнаружил, что могу получить постоянную частоту, установив все значения в /sys/устройства/система/процессор/процессор*/процессор/состояние*/отключить
к 1
. Когда я проверяю частоту:
$ grep -i МГц /proc/cpuinfo
процессор МГц: 1995,106
процессор МГц: 1995,106
это не совсем так на частоте 2001 МГц, как в ядре 3.10.0. Следующая команда проверяет это:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1995106
Но вывод:
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
2001000
это отличается. Мой вопрос: кто-нибудь знает, почему мой процессор работает не на максимальной частоте (2001 МГц), а на ~ 6 МГц меньше? Что-то радикально изменилось в масштабировании процессора между ядром 3.10 и 5.10?