前回、Pi2に、Fedora22 を入れて、UnixBench を計測したときは、279.9 でちょっと残念だったので設定がどうなっているのか見てみました。
・現在のCPU 動作クロックを確認し、上げてみます。raspi-configはないので、/proc/配下の値をとりあえず見てみます。
[root@pi2 boot]# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 1 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 2 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 3 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 Hardware : BCM2709 Revision : a21041 Serial : 00000000******** [root@pi2 boot]#
※このあたりには出ないようです。
・/boot/config.txt で、設定できるようなのでやってみます。
[root@pi2 boot]# cat /etc/fstab UUID=7c321d6b-f2b0-4783-9576-e3dfe657f9b3 / ext4 defaults,noatime 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 0 [root@pi2 boot]# [root@pi2 boot]# blkid /dev/mmcblk0p1: SEC_TYPE="msdos" UUID="509F-31B8" TYPE="vfat" PARTUUID="0008037c-01" /dev/mmcblk0p2: LABEL="_/" UUID="7c321d6b-f2b0-4783-9576-e3dfe657f9b3" TYPE="ext4" PARTUUID="0008037c-02" /dev/mmcblk0: PTUUID="0008037c" PTTYPE="dos" [root@pi2 boot]#
以下の感じにファイルを作成し、リブートしてみました。
--- /boot/cmdline.txt dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait --- /boot/config.txt arm_freq_min=900 arm_freq=1000 core_freq_min=450 core_freq=500 #sdram_freq=500 over_voltage_min=0 over_voltage=2
・以下で、確認します。が、負荷をかけても変わらず。
・温度(34428と出たら34.428度と読み替え)
#cat /sys/class/thermal/thermal_zone0/temp・最大スピード
#cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
・現在のスピード
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
負荷をかけてもCPUクロックがあがらないのは、何かが足りないようですね。
※ツールを入れて確認してみることにします。
・ツールを入れる
[root@pi2 UnixBench]# dnf install cpufrequtils
・以下の感じで、現在の設定を確認できるようです。
[root@pi2 UnixBench]# cpupower frequency-info analyzing CPU 0: driver: BCM2835 CPUFreq CPUs which run at the same hardware frequency: 0 1 2 3 CPUs which need to have their frequency coordinated by software: 0 1 2 3 maximum transition latency: 355 us. hardware limits: 600 MHz - 900 MHz available frequency steps: 600 MHz, 900 MHz available cpufreq governors: conservative, ondemand, userspace, powersave, performance current policy: frequency should be within 600 MHz and 900 MHz. The governor "powersave★" may decide which speed to use within this range. current CPU frequency is 600 MHz (asserted by call to hardware). [root@pi2 UnixBench]#
・powersave は、負荷に関わらず、変動可能範囲内の最低のクロックで動作 で動作している模様。
参考 http://d.hatena.ne.jp/kakurasan/20070720/p1
省電力モードというところでしょうか。とりあえず、この設定を変えて、600Mhz ~ 900Mhz で動作するようにしてみます。
・負荷がかかったら、すぐクロックがあがるように ondemand に設定してみます。
[root@pi2 UnixBench]# cpupower frequency-set -g ondemand Setting cpu: 0 Setting cpu: 1 Setting cpu: 2 Setting cpu: 3 [root@pi2 UnixBench]# [root@pi2 UnixBench]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand★ [root@pi2 UnixBench]# [root@pi2 UnixBench]# cpupower frequency-info analyzing CPU 0: driver: BCM2835 CPUFreq CPUs which run at the same hardware frequency: 0 1 2 3 CPUs which need to have their frequency coordinated by software: 0 1 2 3 maximum transition latency: 355 us. hardware limits: 600 MHz - 900 MHz available frequency steps: 600 MHz, 900 MHz available cpufreq governors: conservative, ondemand, userspace, powersave, performance current policy: frequency should be within 600 MHz and 900 MHz. The governor "ondemand★" may decide which speed to use within this range. current CPU frequency is 600 MHz (asserted by call to hardware). [root@pi2 UnixBench]#
※設定は変更されたようです。
・現在の値
[root@pi2 ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
600000[root@pi2 ~]#
・UnixBench で負荷をかけ、値を確認。
[root@pi2 ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
900000★[root@pi2 ~]#
※負荷がかかれば、クロックはあがっているようです。
・温度のモニタ
[root@pi2 ~]# watch -n 1 cat /sys/class/thermal/thermal_zone0/tempEvery 1.0s: cat /sys/class/thermal/thermal_zone0/temp Sat Jul 4 15:49:35 2015
60528 ★
※単位は 1/1000℃ 上記例だと、60.528℃。指先でCPU を触ると熱いです。最高で、64℃くらいまであがりました。
指先で冷ますと、58℃くらいに。(熱いです) だから、みなさん放熱板つけているんですね。
・BogoMIPS の値もあがっているようです。
[root@pi2 ~]# cat /proc/cpuinfo
processor : 0model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 57.60★
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
::
・・・温度を監視し、UnixBench を完走させてみます。
------------------------------------------------------------------------ Benchmark Run: 土 7月 04 2015 15:44:51 - 16:13:14 4 CPUs in system; running 4 parallel copies of tests Dhrystone 2 using register variables 14083711.0 lps (10.0 s, 7 samples) Double-Precision Whetstone 2200.7 MWIPS (9.1 s, 7 samples) Execl Throughput 1294.5 lps (29.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 98062.8 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 30405.9 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 274125.7 KBps (30.0 s, 2 samples) Pipe Throughput 714775.2 lps (10.0 s, 7 samples) Pipe-based Context Switching 100933.0 lps (10.0 s, 7 samples) Process Creation 2531.6 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 1739.2 lpm (60.1 s, 2 samples) Shell Scripts (8 concurrent) 238.2 lpm (60.5 s, 2 samples) System Call Overhead 1538713.1 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 14083711.0 1206.8 Double-Precision Whetstone 55.0 2200.7 400.1 Execl Throughput 43.0 1294.5 301.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 98062.8 247.6 File Copy 256 bufsize 500 maxblocks 1655.0 30405.9 183.7 File Copy 4096 bufsize 8000 maxblocks 5800.0 274125.7 472.6 Pipe Throughput 12440.0 714775.2 574.6 Pipe-based Context Switching 4000.0 100933.0 252.3 Process Creation 126.0 2531.6 200.9 Shell Scripts (1 concurrent) 42.4 1739.2 410.2 Shell Scripts (8 concurrent) 6.0 238.2 396.9 System Call Overhead 15000.0 1538713.1 1025.8 ======== System Benchmarks Index Score 396.7 [root@pi2 UnixBench]#
おおお。あがりました。とりあえず、この設定で遊びます。お仕事で使っているマシンとかは、この数字が7000とか1万とかなので、かわいい感じがしますが、とても立派な数字なんです。15年前くらいの2000年あたりは、サーバマシンといえども、200ちょいくらいしかなかったので。20万位したマシンで、その数字ですから。5000円くらいのPi2 でこの数字が出るというのは、とても立派なのです。