_nosay 发表于 2016-06-02 17:23

用户态获取/设置CPU时钟频率

用户态获取/设置CPU时钟频率,有啥系统调用或库函数没:em09: ?

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

哦,:em09:。

_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

:shock: {:qq35:}

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

嗯{:yct6:} 。
页: [1]
查看完整版本: 用户态获取/设置CPU时钟频率