SDカードの書き込み速度は読み取り速度の14倍遅いようです


11

今晩、Mac Book Airの内蔵カードリーダーからSDカードに書き込みを行っていましたが、報告されているパフォーマンスは1.4 MB /秒でした。私は後でそれをRaspberry Piでテストして読み取り、20 MB /秒を取得しました。それはクラス6カードであり、これらの数字のどちらも現実的に聞こえません!

ddテストに使用しています。両方のコンピューターでの読み取りと書き込みの両方の同一テストの結果:

Raspberry Pi:読み取り20 MB /秒。書き込み11 MB /秒...
Air:読み取り3 MB /秒。1.4 MB /秒の書き込み

これらのコマンドを使用する:

テストを書く:

sudo dd if=/dev/zero of=/dev/mmcblk0p3 bs=1M count=400

テストを読む:

sudo dd of=/dev/null if=/dev/mmcblk0p3 bs=1M count=400

これは、知覚された異常が、実際には統合されたMac Book Air SDカードリーダーのパフォーマンスの悪さを示していたことを示しています。非常に遅いイメージの作成になります。


Sandiskによると、クラス6カードの読み取り速度は20MBpsであるとキングストンは主張していますが、クラス6カードの読み取り速度は15MBpsです。Mac BookにSDカードリーダーが統合されているかどうかはわかりません。ただし、外部(USB 2.0)バージョンの場合、SDカードリーダーの品質(使用するチップなど)も全体的なパフォーマンスにとって重要です。ただし、これらのデバイスを使用すると、書き込みの方が常に読み取りが速くなります。
ikku

ありがとう。統合されています。かなり良い読み取りパフォーマンス。本当に悪い書き込みパフォーマンス。
ScrollerBlaster 2012年

回答:


6

SDカードの速度クラスの定格は、ビデオの記録中にカードが持つ必要がある最小の読み取り/書き込みパフォーマンスを指定します。クラス番号は、カードを使用するときに取得する必要があるMB / s単位の下限速度です。

ただし、カードからの読み取りは通常、書き込みよりもはるかに簡単(したがって高速)であることに注意してください。これが、通常のクラス6カードの書き込み速度が15 MBから20 MB /秒で6 MB /秒になる理由です(ただし、保証されるのは6 MB /秒のみです)。

読み取り/書き込みの速度は、カードだけでなく、ハードウェアとソフトウェアの両方のさまざまな要因によっても制限されます。特に、カードリーダー/ライターの問題によって制限される場合があります。

したがって、あなたの状況では、RaspberryPiでは適切な(そして現実的な)パフォーマンスが得られているのに、Mac Book Airではカードのパフォーマンスが非常に悪いようです。ただし、Mac Bookでの書き込み速度とRaspberryPiでの読み取り速度をテストしたため、先に述べたように、これらは比較できません。また、速度をテストする方法を指定していないため、このような結果が得られる理由についてコメントすることも困難です。


両方のプラットフォームで読み取りと書き込みをテストする必要があります。私が使用していますdd
ScrollerBlaster

@ScrollerBlaster:読み取り速度と書き込み速度を互いに比較することはできません。同様に、ほぼすべてをテストする場合、一度に1つだけ変更することをお勧めします。ただし、セットアップですべて(OS、ホストコンピュータ、カードリーダー)を変更しましたが、1つ(SDカード)を変更したため、意味のある結果が得られません。
Krzysztof Adamski 2012年

同じOSで読み取りと書き込みを比較すると述べました。そのアプローチに問題がありますか?
ScrollerBlaster 2012年

@ScrollerBlaster:いいえ、まったくありません。私はそれらが私の答えで比較できないと言って私が何を意味するのかを明確にしたかっただけです。この回答はあなただけでなく、今後同様の問題が発生する可能性のある他のすべての人にも当てはまることを忘れないでください。
Krzysztof Adamski 2012年

私のテストはリンゴとオレンジを比較していないとあなたの投稿で指摘したとき、これは非常に有効なポイントでした。最初のコメントで、テストをやり直す、つまり両方のプラットフォームで読み書きをやり直すと述べました。その後、私へのその後のアドバイスは不要でした。今後、AirとPIに関する結論はまだ時期尚早です。最も適切なテストは、PIフォーラムの場合、PIの読み取りテストと書き込みテストです。dd安全な書き込みテストを行うコマンドがある場合は、それらを使用します!
ScrollerBlaster 2012年

10

MacBookのSDスロットから最高の速度を引き出すには、「ローディスク」デバイスを使用する必要があります。

これはSanDisk Ultra Class 10カードです。

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/disk1 bs=8m
231+1 records in
231+1 records out
1939865600 bytes transferred in 1076.078932 secs (1802717 bytes/sec)

これを/dev/rdisk1代わりに使用するのと比較してください/dev/disk1

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/rdisk1 bs=1m
1850+0 records in
1850+0 records out
1939865600 bytes transferred in 129.712100 secs (14955163 bytes/sec)

14.9MB /秒と比較して1.8MB /秒-ほぼ10倍の改善!


diskとrdiskの違いは何ですか?
バレット

「それらはバッファキャッシュよりも物理ディスクに近い場所にあります。一方、/ dev / diskノードはバッファ付きブロックスペシャルデバイスであり、主にカーネルのファイルシステムコードによって使用されます。」-詳細については、hidutilmanページを確認してください。
バート

1
2つのテスト間でブロックサイズが変更されたため、これは誤解を招く可能性があります。
Nick

FWIW:ブロックサイズを1mに変更し、デバイス/ dev / rdisk1に変更しました。クラス10のカードでは、書き込み速度は〜1.75MB /秒から〜11.4MB /秒になりました。
ガードナービックフォード2014

私はこれを確認できます。rdisk2を使用すると、RPi SDカードのイメージの書き込みが20倍速くなります。私はこれのためにブロックサイズを一定に保ちました(4m)。/ dev / disk2を使用すると、gddは197 kB / sで書き込みます。/ dev / rdisk2を使用して、10.6 MB / sで書き込みます
judepereira

1

これらのコマンドを使用して、RAMにロードされるキャッシュの影響を受けずにベンチマークを行うこともできます。

読み取り速度のベンチマーク:$ sudo dd if = / dev / sdX1 of = / dev / zero bs = 1M count = 400 iflag = direct

書き込み速度のベンチマーク:$ sudo dd if = / dev / zero of = / dev / sdX1 bs = 1M count = 400 skip = 1000 oflag = direct

書き込みと読み取りのベンチマークテストをそれぞれ実行するときは、常にoflag = directとiflag = directを必ず使用してください。そうしないと、実際にファイルキャッシュの書き込みと読み取りのタイミングである結果が得られるおそれがあります。


0

OSX 10.11.5を実行している2015 MBPで、ddの使用中に次の書き込み速度を受け取りました。

/ dev / diskへの書き込み時:1.80 MB / s / dev / rdiskへの書き込み時:12.80 MB / s

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.