CPU hotplug
LinuxってCPUの個数をダイナミックに変更できるんじゃなかったっけ?パワー必要ないときは、デュアルコアをシングルにして消費電力下がるんじゃね?
ということで調べてみた。
google:Linux cpu hot plug
Linux Kernel Documentation :: cpu-hotplug.txt
http://lc.linux.or.jp/lc2002/papers/suganuma0919p.pdf
うん。できるようだ。やってみよう。
top - 00:59:27 up 31 min, 3 users, load average: 0.64, 0.53, 0.62 Tasks: 173 total, 2 running, 170 sleeping, 0 stopped, 1 zombie Cpu0 : 26.8%us, 6.2%sy, 0.0%ni, 64.7%id, 0.0%wa, 2.0%hi, 0.3%si, 0.0%st Cpu1 : 16.8%us, 3.0%sy, 0.0%ni, 80.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2052556k total, 1989100k used, 63456k free, 271996k buffers Swap: 2000052k total, 0k used, 2000052k free, 751408k cached
↑LOOX Pでやってます。topで見ると、2コアあります。
cpu1をofflineにする。
~# echo 0 > /sys/devices/system/cpu/cpu1/online
topで見てみる(ただし、topは一度終了しないと、hotplugを認識しないみたい)
top - 00:58:35 up 30 min, 3 users, load average: 0.17, 0.42, 0.59 Tasks: 160 total, 4 running, 155 sleeping, 0 stopped, 1 zombie Cpu0 : 29.0%us, 6.7%sy, 0.0%ni, 62.5%id, 0.6%wa, 0.8%hi, 0.4%si, 0.0%st Mem: 2052556k total, 1976340k used, 76216k free, 266956k buffers Swap: 2000052k total, 0k used, 2000052k free, 742600k cached
1コアになってる。戻してみる。
~# echo 1 > /sys/devices/system/cpu/cpu1/online
top - 00:59:27 up 31 min, 3 users, load average: 0.64, 0.53, 0.62 Tasks: 173 total, 2 running, 170 sleeping, 0 stopped, 1 zombie Cpu0 : 26.8%us, 6.2%sy, 0.0%ni, 64.7%id, 0.0%wa, 2.0%hi, 0.3%si, 0.0%st Cpu1 : 16.8%us, 3.0%sy, 0.0%ni, 80.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2052556k total, 1989100k used, 63456k free, 271996k buffers Swap: 2000052k total, 0k used, 2000052k free, 751408k cached
2コアに戻った。これはおもしろいなぁ。消費電力とかはそのうち見てみよう。
Ubuntuでsudoでやるときは注意が必要らしい。
http://ubuntuforums.org/showthread.php?t=1103748