
Linux/AMD CPUの省電力コントロールでのクロック変化
こんにちは。匠技術研究所の谷山亮治です。
LinuxをAMD CPUで動かすことも多くなってきました。AMD CPUにはPowernow!,Cool'n'Quietと呼ぶ省電力機能があります。私のこの記事を書いているLinuxワークステーションもAMD CPUを使っており、以下はその実稼働の例です。ワークステーションとしては、まだ処理能力に余裕があることがはっきりしましたので、当面このPCで十分仕事ができます。
■実行環境
takumi@taniyamaub1:~$ uname -a
Linux taniyamaub1 2.6.35-22-generic-pae #35-Ubuntu SMP Sat Oct 16 22:16:51 UTC 2010 i686 GNU/Linux
takumi@taniyamaub1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
takumi@taniyamaub1:~$
■Linux/Ubuntuワークステーションで調整可能なクロック
takumi@taniyamaub1:~$ dmesg | grep power
[ 0.862628] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2 cpu cores) (version 2.20.00)
[ 0.862670] powernow-k8: 0 : fid 0xe (2200 MHz), vid 0xc
[ 0.862673] powernow-k8: 1 : fid 0xc (2000 MHz), vid 0xe
[ 0.862675] powernow-k8: 2 : fid 0xa (1800 MHz), vid 0x10
[ 0.862678] powernow-k8: 3 : fid 0x2 (1000 MHz), vid 0x12
なるほど。以下のコマンドで、調整可能なクロックのみであれば取得できます。
takumi@taniyamaub1:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2200000 2000000 1800000 1000000
takumi@taniyamaub1:~$
■実際に稼働しているCPUクロック
文字編集しているだけなので、確かに仕事していません。
takumi@taniyamaub1:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 2
cpu MHz : 1000.000
cache size : 512 KB
bogomips : 1999.90
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 2
cpu MHz : 1000.000
cache size : 512 KB
bogomips : 1999.90
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
takumi@taniyamaub1:~$
■負荷の高い仕事をさせてみる
連続的な負荷をかけるために、動画の再生を行ってみました。確かにCPUクロックが一つ上に上がっています。
YouTubeの動画を複数動かしましたが、この上の周波数には上がりませんでした。演算系のプログラムでないと負荷が足りないようです。ダイナミックに周波数が変動していることが確認できて、処理能力への漠然とした不安と節電効果への疑問がなくなりすっきりしました。
takumi@taniyamaub1:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 2
cpu MHz : 1800.000
cache size : 512 KB
bogomips : 3599.83
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 2
cpu MHz : 1800.000
cache size : 512 KB
bogomips : 3599.83
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
takumi@taniyamaub1:~$
引き続き、紹介していきます。

ヤマハルーターやLinuxの勉強会・講座のご案内はこちら。
企業・団体のオープンソース活用のご相談はこちら
匠技術研究所はこちら

