Chinaunix

标题: 用户态获取/设置CPU时钟频率 [打印本页]

作者: _nosay    时间: 2016-06-02 17:23
标题: 用户态获取/设置CPU时钟频率
用户态获取/设置CPU时钟频率,有啥系统调用或库函数没
作者: Tinnal    时间: 2016-06-02 22:05
通过/sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq 就可以读取或配置。 用不着什么专用函数,直接wirte或read就可以。
作者: _nosay    时间: 2016-06-03 09:13
本帖最后由 _nosay 于 2016-06-03 09:13 编辑

回复 2# Tinnal

哦,  。
作者: _nosay    时间: 2016-06-06 17:13
本帖最后由 _nosay 于 2016-06-06 17:14 编辑

回复 2# Tinnal

sudo ls /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq -al
-r--r--r-- root root 4096 ......

sudo chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

sudo vi /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
保存的时候说:E667: Fsync failed

sudo echo 1600001 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
bash: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: Permission denied


作者: nswcfd    时间: 2016-06-07 14:09
sudo解决不了bash >的问题。
作者: nswcfd    时间: 2016-06-07 14:18
可以sudo tee
作者: _nosay    时间: 2016-06-07 23:42
回复 5# nswcfd

内核提供了大概七八种cpu时钟调节策略,userspace模式下,才允许用户进程修改频率,这七八种策略在编译的内核的时候可以全选,也可以只选部分,如果没选userspace,就没办法切换为userspace策略,用户进程就不能修改频率了。
作者: nswcfd    时间: 2016-06-12 16:47
哦,或许这种情况下返回EINVAL/ENOSUPPPORT比返回EPERM要“准确”一些?
作者: _nosay    时间: 2016-06-12 21:01
回复 8# nswcfd






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2