【Raspberry Pi】microSDカードとUSBメモリの読み書き速度を実測比較してみた(hdparm / dd)

公開日: 2026年09月02日

Raspberry Pi(ラズパイ)を運用していると、「OSの起動や動作がもっさりする」「ファイルのコピーに時間がかかる」といったストレージ速度の課題に直面することがあります。

手持ちのストレージ(microSDカード2種類とUSBメモリ1種類)の読み出し・書き込み速度を、Linux標準のコマンドツール(hdparm および dd)を使って実際にベンチマーク測定してみました。


測定環境とテスト方法

測定対象

  1. microSDカード A(メインで使用中)
  2. microSDカード B(大容量 128GB)
  3. USBメモリ(外付けストレージ /dev/sda

使用した測定コマンド

  • 読み出し速度(シーケンシャルリード): hdparm -tT <デバイス名>
    • Timing cached reads: RAM/OSキャッシュ経由の速度
    • Timing buffered disk reads: ストレージ実機からのダイレクト読み出し速度
  • 書き込み速度(シーケンシャルライト): dd if=/dev/zero of=<ファイル名> bs=1M count=<ブロック数> oflag=direct
    • oflag=direct: OSのファイルシステムキャッシュをバイパスして、ストレージの純粋な書き込み速度を測定

1. 測定結果まとめ(比較表)

まずは3つのストレージの測定結果を比較表にまとめました。

ストレージ 読み出し速度 (hdparm実測) 書き込み速度 (dd実測 / 1GB〜3GB) 特徴・総評
microSDカード A 約 85 〜 86 MB/s 約 63 MB/s 読み書きともにバランスが良く、ラズパイの内部バス上限に近い高速な性能。
microSDカード B (128GB) 約 66 〜 80 MB/s 約 54 〜 57 MB/s Aより若干控えめながら、実用上十分なパフォーマンスを発揮。
USBメモリ (/dev/sda) 約 120 〜 180 MB/s 約 22 〜 23 MB/s 読み出しは最速だが、大容量書き込みで極端に速度低下(20MB/s台)。

2. 各ストレージの実測ログ

(1) microSDカード A

まずは普段使いしているmicroSDカードの測定です。

読み出しテスト (hdparm)

$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
 Timing cached reads:   6956 MB in  2.00 seconds = 3480.12 MB/sec
 Timing buffered disk reads: 258 MB in  3.01 seconds =  85.71 MB/sec

$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
 Timing cached reads:   7094 MB in  2.00 seconds = 3549.73 MB/sec
 Timing buffered disk reads: 258 MB in  3.02 seconds =  85.45 MB/sec

$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
 Timing cached reads:   7008 MB in  2.00 seconds = 3505.70 MB/sec
 Timing buffered disk reads: 262 MB in  3.02 seconds =  86.69 MB/sec

書き込みテスト (dd)

# 3GB書き込み
$ sudo dd if=/dev/zero of=~/testfile_3gb bs=1M count=3000 oflag=direct
3000+0 records in
3000+0 records out
3145728000 bytes (3.1 GB, 2.9 GiB) copied, 49.6156 s, 63.4 MB/s

# 1GB書き込み
$ sudo dd if=/dev/zero of=~/testfile_1gb bs=1M count=1000 oflag=direct
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 16.619 s, 63.1 MB/s
  • 結果: 読み出し約85 MB/s、書き込み約63 MB/s。microSDカードとしては極めて優秀なスピードです。

(2) microSDカード B(128GB)

続いて大容量128GBのmicroSDカードです。

読み出しテスト (hdparm)

$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
 Timing cached reads:   6700 MB in  2.00 seconds = 3352.10 MB/sec
 Timing buffered disk reads: 212 MB in  3.00 seconds =  70.64 MB/sec

$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
 Timing cached reads:   6212 MB in  2.00 seconds = 3107.71 MB/sec
 Timing buffered disk reads: 200 MB in  3.02 seconds =  66.33 MB/sec

$ sudo hdparm -t /dev/mmcblk0
/dev/mmcblk0:
 Timing buffered disk reads: 242 MB in  3.02 seconds =  80.12 MB/sec

書き込みテスト (dd)

# 3GB書き込み
$ sudo dd if=/dev/zero of=~/testfile_3gb bs=1M count=3000 oflag=direct
3000+0 records in
3000+0 records out
3145728000 bytes (3.1 GB, 2.9 GiB) copied, 56.9847 s, 55.2 MB/s

# 1GB書き込み (試行1)
$ sudo dd if=/dev/zero of=~/testfile_1gb bs=1M count=1000 oflag=direct
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 18.2164 s, 57.6 MB/s

# 1GB書き込み (試行2)
$ sudo dd if=/dev/zero of=~/testfile_1gb_2 bs=1M count=1000 oflag=direct
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 19.4463 s, 53.9 MB/s
  • 結果: 読み出し約66〜80 MB/s、書き込み約54〜57 MB/s。カードAよりわずかに下回りますが、大容量カードとしては安定した結果です。

(3) USBメモリ(外付けストレージ)

最後にUSBポートに接続したUSBメモリ(/dev/sda)の測定です。

読み出しテスト (hdparm)

$ sudo hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   6656 MB in  2.00 seconds = 3330.05 MB/sec
 Timing buffered disk reads: 552 MB in  3.07 seconds = 179.61 MB/sec

$ sudo hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   6906 MB in  2.00 seconds = 3455.15 MB/sec
 Timing buffered disk reads: 446 MB in  3.06 seconds = 145.99 MB/sec

$ sudo hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads: 466 MB in  3.00 seconds = 155.29 MB/sec

書き込みテスト (dd)

# 3GB書き込み
$ sudo dd if=/dev/zero of=~/testfile_3gb bs=1M count=3000 oflag=direct
3000+0 records in
3000+0 records out
3145728000 bytes (3.1 GB, 2.9 GiB) copied, 135.258 s, 23.3 MB/s

# 1GB書き込み
$ sudo dd if=/dev/zero of=~/testfile_1gb bs=1M count=1000 oflag=direct
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 46.3737 s, 22.6 MB/s
  • 結果: 読み出しは最大179 MB/sと圧倒的に速いものの、書き込み速度が 約22〜23 MB/s とSDカードの1/3近くまで急激に落ち込みました。

3. 考察とまとめ

今回のベンチマークから以下のことが分かりました。

  1. USBメモリは「読み出し特化」になりがち
    • USB 3.0接続のUSBメモリは読み出しが150MB/s前後と高速ですが、安価な製品はコントローラやNANDフラッシュの特性上、大容量書き込みを行うと急激に失速します(いわゆるSLCキャッシュ切れや発熱によるサーマルスロットリング)。
  2. OSドライブにはバランスの良いmicroSD(または外付けSSD)が有利
    • OSの動作には読み出しだけでなく書き込み(ログ保存や設定変更、パッケージ更新など)も頻繁に発生するため、書き込みが極端に遅いUSBメモリより、安定して50〜60MB/s出るmicroSDカードのほうが体感速度は良好です。
  3. さらに速度を求めるなら「外付けSSD」
    • 読み出し・書き込みの両方で300〜400MB/s以上の速度を出したい場合は、USBブート対応のUSB接続外付けSSD(またはNVMe M.2 SSD + HATボード)を導入するのが最も効果的です。

手持ちのストレージがどの程度の実力を持っているか確認したいときは、ぜひ hdparmdd で測ってみてください。