2012-01-24 52 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