У меня есть программа, которая предоставляет тесты, но она независима от ОС и не умеет читать частоты процессора. Тестовая программа запускается через скрипт. Если я укажу частоту процессора, то программа сможет рассчитать пропускную способность операций.
Я думал, что предоставлю текущую частоту процессора (для наиболее точного чтения), но, похоже, значение доступно только для чтения для root и не имеет доступа для других:
$ ls -Al /sys/devices/system/cpu/cpu0/cpufreq/
total 0
-r--r--r-- 1 root root 4096 Jan 27 23:19 affected_cpus
-r-------- 1 root root 4096 Jan 27 23:19 cpuinfo_cur_freq
-r--r--r-- 1 root root 4096 Jan 27 23:19 cpuinfo_max_freq
-r--r--r-- 1 root root 4096 Jan 27 23:19 cpuinfo_min_freq
...
-rw-r--r-- 1 root root 4096 Jan 27 23:19 scaling_max_freq
-rw-r--r-- 1 root root 4096 Jan 27 23:19 scaling_min_freq
-rw-r--r-- 1 root root 4096 Jan 27 23:19 scaling_setspeed
Как показывает ls -l
, cpuinfo_cur_freq
- единственный объект с этим конкретным ACL. Другие записи в основном 0444
(0644
для некоторых).
Почему текущая частота процессора доступна только для чтения для root, а для других нет доступа?