Как получить процессор МГц (в / proc / cpuinfo) по системному вызову? - PullRequest
1 голос
/ 21 января 2020

В /proc/cpuinfo я нахожу странный параметр «CPU MHz», который постоянно меняется. Я хочу изучить, как это работает. Существует ли какой-нибудь системный вызов, который может помочь мне получить этот параметр? Я sh этот системный вызов может помочь мне узнать, как вычислить процессор МГц.

Ответы [ 2 ]

2 голосов
/ 21 января 2020

Нет, нет системного вызова, который сообщал бы вам текущую скорость (МГц) вашего процессора. Если вы хотите узнать значение, не написав для него модуль ядра, вы можете прочитать файл /proc/cpuinfo, который существует именно для этой цели (делая эту информацию доступной для программ пользовательского пространства). Здесь также есть хороший пост , в котором перечислены другие способы получения такой информации.

Если вы хотите узнать, как рассчитываются значения, вы можете посмотреть исходный код Linux ядро. В частности, файл fs/proc/cpuinfo.c является хорошей отправной точкой.

1 голос
/ 21 января 2020

вы можете найти информацию в файловой системе /sys более легкой для анализа:

$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:900014
/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:900016
/sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:883064
/sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:862357

в /sys/devices/system/cpu/cpu*/ вы найдете более интересные свойства каждого процессора в вашей системе, и все они в легкой форме формат для анализа (обычно только одна строка)

...