raspberry pi 4 model B(4GB)の観察
Ver.1.001 2022.12.10

更新履歴
2022.12.3 Ver.1.000 新規作成

raspberry pi 4 model Bに、SATAーUSB変換をつけ、SSDをつなぎました。USB3メモリは、早いのですが、大きなファイルだと発熱をして、保護回路が働き、遅くなるらしい。しかも、 raspberry pi 4 model Bは、USB3.0なので、USB3.2メモリのような、10GHzの速度は無理で、USB3.0の5GHzしかできない。

SSDは、USB3メモリのように、発熱で遅くなることはない。放熱が十分考えられている。しかも、SATAーUSB変換は、電源付きなので、電源付きの USB3HUBが要らない。

これまで、電源電圧低下の警告が出ていたが、SSDにしてからは、全く問題がない。

なお、SSDは、KIOXIA480GB、SATA-USB変換は、Alxum USB3.0 to SATA6Gである。

マイクロSDHCは100MB/secで、SSDは、読み込み555MB/sec書き込み540MB /secだから、かなり違うでしょう?

素数を1億個求めさせると、2分8秒でした。Core2duoのマシンは、1分8秒でした。i5-2500のマシンで26秒でした。シングルタスクなので、 コアの数は関係ありません。

さて、SSDをつないだのだから、swap領域を作れば、メモリ4GBでも、swap領域サイズだけメモリが拡張されるのではないか。もちろん、スピードは 落ちるだろうが、SSDだから、そこそこなんとかならないだろうか。CPUの速度が遅いので、swapでメモリ拡張できないかな・・・・・

2022-12-4

「素数を1億個求めさせる」プログラムは、http://y-daisan.private.coocan.jp/html/s91114.htmlの sosuu-3.max.cです。

32bit整数で求められる最大数に近い素数で、約1億個あります。一応オリジナルと思っています。まあ、1億個が26秒で求まるからすごいでしょう。な お、4GBのwindows10では、メモリが足りません。Linuxなら、4GBで動きます。

コンパイルは、

$gcc  -Wall -O2 -o sosuu-3.max sosuu-3.max.c

です。raspberry piでは、メモリオーバーとの警告が出ますが、

$./sosuu-3.max

で、ちゃんと動きます。

2022-12-10

Webでみていると、raspberry pi 4にM.2 SSDをUSB3でつないでいるようです。そこで、USB3.0を見てみました。

マイクロSDのとき(USB3は未使用)

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M USB3ポート5Gですね。
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M USB2ポート480Mですね。
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M USB2ポートにキーボードとマウスがつながっています。
        |__ Port 4: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M キーボード? 
        |__ Port 4: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M マウス?

これから見ると、USB3ポートは、5Gですね。

SATA-USB変換使用時 (HDDの場合)

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M USB3ポート
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M USB3ポートにSATA-USB変換
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M


SATA-USB変換使用時 (SSDの場合)

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M USB3ポート
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M USB3ポートにSATA-USB変換
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

これらから、USB3ポートは、5Gのようです。

さて、fileのI/Oスピードを測ってみました。sysbenchを使いました。

16384kbytesのファイルを128本作り、トータル2048Mbytesで、ファイルをシーケ ンシャルにアクセスするか、ランダムにアクセスするかで測りました。

モー ド マイクロSD HDD SSD
シーケンシャルR/W 14.279Mb/sec 70.634Mb/sec 136.44Mb/sec
ランダンムR/W 18.664Mb/sec 4.3976Mb/sec 37.788Mb/sec

SSDは、マイクロSDより、圧倒的に速いですね。

シーケンシャルアクセスに限定すれば、HDDはマイクロSDの5倍、SSDは約9倍くらいですね。

マイクロSD:マイクロSDHC 32GB

HDD:HDT7210032SLA360 320GB

SSD:前出

つづく


メインページに戻る