2019/05/05

[Raspberry Pi] CPUの周波数や電圧を調べる

Raspberry PiのCPU周波数は以下のコマンドで調べられる。

  • CPUクロック
$ vcgencmd measure_clock arm
frequency(45)=1400000000

  • CPUコアクロック?
$ vcgencmd measure_clock core
frequency(1)=400000000
  • cpuコア電圧
$ vcgencmd measure_volts core
volt=1.3563V

試験環境


H/W : Rasperry Pi3 model B+
S/W : Raspbian (4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux)

参考サイト


2019/05/04

[Raspberry Pi] CPU温度を調べる

Raspberry PiのCPU温度は以下のコマンドで調べられる。
$ vcgencmd measure_temp
temp=52.6'C

試験環境


H/W : Rasperry Pi3 model B+
S/W : Raspbian (4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux)

参考サイト


2019/05/03

[Raspberry Pi] ヒートシンクの効果を確認する

先日、秋月電子でRaspberry Pi用ヒートシンクを見かけ、面白そうだったので購入しました。

ヒートシンクを取り付けると何か変わる?


 CPUの保護機能による処理能力低下を防止することができる可能性があります。

 ヒートシンクは半導体の放熱を助けます。ヒートシンクを半導体に取り付けることにより、半導体の放熱特性を高めることができます。CPUは計算負荷を高くすると発熱します。あまり発熱するとCPU自身が壊れてしまうため、保護機能が働き処理能力を落とします。
 従って、保護機能が動作するような場合、ヒートシンクを取り付けることにより、処理能力を落とさずに計算をすることができるかも知れません。

(1)試験環境


  H/W  : Raspberry Pi3 Model B+
  S/W  : Raspbian (4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l)
  電源 : Anker PowerPort Speed 5 (5V, 2.4A)

(2)計算負荷


 "unixbench"を使用しました。
Version 5.1.3
Multi-CPU version
January 13, 2011
  • インストール&実行手順
$ git clone https://github.com/kdlucas/byte-unixbench
$ cd byte-unixbench/UnixBench/
$ ./Run
"git"がない場合は"apt install git"でインストールする。

(3)結果


 ヒートシンク取り付け有無ではたいして変わりませんでした。

 ヒートシンクを取り付けると確かに温度上昇が鈍くなるのですが、高負荷が続くと結局のところ温度が上がってしまい保護機能が動作してしまうようです。そのためヒートシンクなしに比べてわずかですが、スコアがよくなっています。
 そこでヒートシンクに風を当ててみたところ、4並列の場合かなり改善しました。1並列が改善しないのは、保護機能が動作するほどの高負荷ではなかったと思われます。

(4)まとめ


 全CPUコアをフルに動作させるような重い計算を長時間を行う場合は、ヒートシンクを取り付けて強制空冷すると効果あり。ヒートシンクのみ(無風)はあまり効果がない。





(5)結果詳細


 上表の棒グラフは、項目毎の増減を示している。「ヒートシンクあり+強制空冷」はどの項目にも効果があるようです。

  • ヒートシンクなし
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   15:34:50 up  1:42,  2 users,  load average: 0.00, 0.00, 0.64; runlevel Mar

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 15:34:50 - 16:02:57
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5098208.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1232.0 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1129.2 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        156299.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44759.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        382678.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              330624.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  69988.3 lps   (10.0 s, 7 samples)
Process Creation                               2855.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2533.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    585.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         702698.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5098208.2    436.9
Double-Precision Whetstone                       55.0       1232.0    224.0
Execl Throughput                                 43.0       1129.2    262.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     156299.0    394.7
File Copy 256 bufsize 500 maxblocks            1655.0      44759.6    270.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     382678.9    659.8
Pipe Throughput                               12440.0     330624.4    265.8
Pipe-based Context Switching                   4000.0      69988.3    175.0
Process Creation                                126.0       2855.0    226.6
Shell Scripts (1 concurrent)                     42.4       2533.1    597.4
Shell Scripts (8 concurrent)                      6.0        585.0    975.1
System Call Overhead                          15000.0     702698.6    468.5
                                                                   ========
System Benchmarks Index Score                                         362.8

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 16:02:57 - 16:31:29
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17411803.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4207.0 MWIPS (9.9 s, 7 samples)
Execl Throughput                               2357.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        224108.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           60076.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        554471.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1128343.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 236336.8 lps   (10.0 s, 7 samples)
Process Creation                               5330.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4803.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    664.3 lpm   (60.2 s, 2 samples)
System Call Overhead                        2330013.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17411803.4   1492.0
Double-Precision Whetstone                       55.0       4207.0    764.9
Execl Throughput                                 43.0       2357.3    548.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     224108.8    565.9
File Copy 256 bufsize 500 maxblocks            1655.0      60076.9    363.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     554471.0    956.0
Pipe Throughput                               12440.0    1128343.7    907.0
Pipe-based Context Switching                   4000.0     236336.8    590.8
Process Creation                                126.0       5330.6    423.1
Shell Scripts (1 concurrent)                     42.4       4803.0   1132.8
Shell Scripts (8 concurrent)                      6.0        664.3   1107.1
System Call Overhead                          15000.0    2330013.7   1553.3
                                                                   ========
System Benchmarks Index Score                                         784.4

  • ヒートシンクあり
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   18:22:07 up 9 min,  2 users,  load average: 0.00, 0.00, 0.00; runlevel May

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 18:22:07 - 18:50:43
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5094109.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1229.4 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1138.1 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        156185.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44857.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        382938.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              329867.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  70211.5 lps   (10.0 s, 7 samples)
Process Creation                               2822.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2546.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    618.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         703036.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5094109.5    436.5
Double-Precision Whetstone                       55.0       1229.4    223.5
Execl Throughput                                 43.0       1138.1    264.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     156185.2    394.4
File Copy 256 bufsize 500 maxblocks            1655.0      44857.8    271.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     382938.0    660.2
Pipe Throughput                               12440.0     329867.3    265.2
Pipe-based Context Switching                   4000.0      70211.5    175.5
Process Creation                                126.0       2822.8    224.0
Shell Scripts (1 concurrent)                     42.4       2546.4    600.6
Shell Scripts (8 concurrent)                      6.0        618.0   1030.0
System Call Overhead                          15000.0     703036.0    468.7
                                                                   ========
System Benchmarks Index Score                                         364.6

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 18:50:43 - 19:19:36
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17417773.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4206.2 MWIPS (9.8 s, 7 samples)
Execl Throughput                               2372.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        231473.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           60338.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        556413.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1128152.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 232249.2 lps   (10.0 s, 7 samples)
Process Creation                               5325.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4798.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    665.0 lpm   (60.3 s, 2 samples)
System Call Overhead                        2328416.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17417773.8   1492.5
Double-Precision Whetstone                       55.0       4206.2    764.8
Execl Throughput                                 43.0       2372.8    551.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     231473.5    584.5
File Copy 256 bufsize 500 maxblocks            1655.0      60338.2    364.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     556413.0    959.3
Pipe Throughput                               12440.0    1128152.9    906.9
Pipe-based Context Switching                   4000.0     232249.2    580.6
Process Creation                                126.0       5325.5    422.7
Shell Scripts (1 concurrent)                     42.4       4798.5   1131.7
Shell Scripts (8 concurrent)                      6.0        665.0   1108.3
System Call Overhead                          15000.0    2328416.2   1552.3
                                                                   ========
System Benchmarks Index Score                                         786.2

  • ヒートシンクあり+強制空冷
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   19:25:50 up  1:13,  2 users,  load average: 0.04, 3.88, 4.83; runlevel May

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 19:25:50 - 19:53:53
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5087638.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1232.6 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1134.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        155559.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44994.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        387643.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              329627.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  69850.0 lps   (10.0 s, 7 samples)
Process Creation                               2861.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2548.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    690.2 lpm   (60.1 s, 2 samples)
System Call Overhead                         703275.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5087638.3    436.0
Double-Precision Whetstone                       55.0       1232.6    224.1
Execl Throughput                                 43.0       1134.2    263.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     155559.8    392.8
File Copy 256 bufsize 500 maxblocks            1655.0      44994.3    271.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     387643.5    668.4
Pipe Throughput                               12440.0     329627.0    265.0
Pipe-based Context Switching                   4000.0      69850.0    174.6
Process Creation                                126.0       2861.7    227.1
Shell Scripts (1 concurrent)                     42.4       2548.7    601.1
Shell Scripts (8 concurrent)                      6.0        690.2   1150.3
System Call Overhead                          15000.0     703275.3    468.9
                                                                   ========
System Benchmarks Index Score                                         368.5

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 19:53:53 - 20:22:29
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       20320487.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4918.8 MWIPS (9.8 s, 7 samples)
Execl Throughput                               2649.4 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        259254.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           69622.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        607469.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1315613.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 276083.6 lps   (10.0 s, 7 samples)
Process Creation                               5979.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5359.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    738.1 lpm   (60.1 s, 2 samples)
System Call Overhead                        2717452.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   20320487.3   1741.3
Double-Precision Whetstone                       55.0       4918.8    894.3
Execl Throughput                                 43.0       2649.4    616.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     259254.7    654.7
File Copy 256 bufsize 500 maxblocks            1655.0      69622.1    420.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     607469.5   1047.4
Pipe Throughput                               12440.0    1315613.3   1057.6
Pipe-based Context Switching                   4000.0     276083.6    690.2
Process Creation                                126.0       5979.0    474.5
Shell Scripts (1 concurrent)                     42.4       5359.5   1264.0
Shell Scripts (8 concurrent)                      6.0        738.1   1230.2
System Call Overhead                          15000.0    2717452.9   1811.6
                                                                   ========
System Benchmarks Index Score                                         896.6

【備忘録】時系列データの編集方法(R言語, tidyverse)

TimeSeries.knit 1 サンプルデータ作成 2 日付単位に集計する 2.1 月毎集計 2.2 四半期毎集計 ...