2012-01-24 28 views

回答

1

可能有这样一个库,但即使没有,也可以在/ sys/devices/system/cpu下打开配置CPU行为的文件。
查看/ sys/devices/system/cpu/cpuX/cpufreq下的文件。

+0

在我的个人计算机,目录/ SYS /设备/系统/ CPU/CPU0不包含CPU频率的文件或目录。只有一些与拓扑和缓存相关的东西。我的意图是在超级计算机上使用动态电压/频率自适应,修改这些文件不是一个选项,因为我没有管理员权限。只有C API才能解决这个问题,我猜... – sunmat

+0

好的,我明白了。它可能取决于具体的安装。 –

+2

@sunmat作为非root用户,您将无法做到这些事情,C API或不。 – glglgl

0

您可以通过写入: /sys/devices/system/cpu/cpu%d/cpufreq/scaling_setspeed文件来更改频率电压对。每个硬件线程都有一个文件。但是,您只能更改整个芯片(所有内核)的频率。您可以找到可用频率: /SYS /设备/系统/ CPU/CPU0/CPU频率/ scaling_available_frequencies

如果没有这个文件夹,请检查您的处理器已经增强型英特尔SpeedStep®技术可用。如果有,请进入BIOS并启用它,您将看到该文件夹​​。 还有一件事,您可能需要启用/安装cpufreq模块。

希望它可以帮助某人,因为原来的位置很旧。

0

CPU动态电压,频率调节举例:

# See availables operation performance points 
cat /sys/class/devices/system/cpu/cpu0/scaling_available_frequencies 
384000 460800 600000 672000 768000 864000 960000 1248000 1344000 1478400 1555200 

# See current core frequency 
cat /sys/devices/system/cpu/cpu0/scaling_cur_freq 
384000 

# See current core voltage 
cat /sys/class/regulator/regulator.3/microvolts 
785000 

# Change CPU speed to 1248000 MHz 
echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 

cat /sys/devices/system/cpu/cpu0/scaling_cur_freq 
1248000 

cat /sys/class/regulator/regulator.3/microvolts 
980000