題:
如何在MacBook Pro上加快SD卡的寫入速度(使用/ dev / disk *)?
StuR
2012-07-12 01:06:08 UTC
view on stackexchange narkive permalink

我一直在從MacBook將一些Linux發行版安裝到SD卡上,儘管它們需要一個多小時才能傳輸幾百MB(使用 dd / dev / disk1 )。

dd output

如果您查看上述輸出,則其工作速度約為0.31 MB / s! SD卡是Class 10,我的MacBook Pro是2.66 GHz Intel Core 2 Duo,4 GB 1067 MHz DDR3和OS X Lion 10.7.4。這是讀卡器的硬件報告:

內置於SD卡讀卡器:

供應商ID:0x05ac
產品ID:0x8403
修訂版:1.00序列號:9833

SDHC卡:

容量:7.97 GB(7,969,177,600字節)
可移動媒體:是BSD名稱:disk1
分區圖類型:MBR(Master引導記錄)
SMART狀態:不支持
卷:

PI:
容量:7.96 GB(7,964,983,296字節)
文件系統:MS-DOS
BSD名稱:disk1s1
內容: DOS_FAT_32

有什麼想法為什麼傳輸到 / dev / disk1 的速度如此之慢,如何加快速度?

在我看來,這是一個硬件問題。我聽說2011 MBP的SD讀卡器性能較差,但較早的MBP可能也是一個問題。嘗試使用另一張SD卡,但這很可能是讀卡器的問題,不幸的是,該讀卡器已連接到大多數MBP的邏輯板上。
我在2009年購買了筆記本電腦,Fedora現在已經復印了2個小時,我已經放棄了。我認為新讀卡器的時間。
有趣的是,如果您使用Finder或Disk-Utility,則順序數據速率會更高,因為罪魁禍首似乎是/ dev / disk *的緩衝,如[答案](http://apple.stackexchange.com/a / 66045/14994)的@pci
四 答案:
pcl
2012-10-03 00:10:53 UTC
view on stackexchange narkive permalink

遇到了同樣的問題,似乎 / dev / disk * 速度很慢,因為它被緩衝了。如果使用相應的rdisk設備(例如: / dev / rdisk1s1 ),則應獲得所需的速度。顯然這是BSD事情。

示例:

 %sudo dd if = pi.bin of = / dev / disk1 bs = 1m count = 4095 ^ C408 + 0記錄in407 + 0記錄輸出426770432字節,以1393.452305秒(306268字節/秒)%sudo dd if = pi.bin of = / dev / rdisk1 bs = 1m count = 40954095 + 0記錄in4095 + 0記錄出4293918720字節,以378.669512秒(11339489字節/秒) 

參考:

這是我能夠確認結果的最佳答案。從約1.35 MB /秒增加到20MB /秒:)
對於Apple / BSD來說,這當然是一個恥辱-儘管使用dd可以為您提供最佳的性能,因為您具有長的寫入(或讀取)訪問權限。在文件級別以及具有隨機訪問權限的情況下,根據SD卡的不同,您的性能也會有很大差異-並且:非常適合@pci!
這是一個漫長的故事,但如果我不及時修理吸煙者,您就為我節省了價值90美元的鮭魚,這將使情況變得很糟。
有點荒謬的是,您如何以20 + Mbps的速度下載文件超過數千公里,而最後幾米是無線的。但是,通過硬連接將數據傳輸幾厘米要慢得多。
謝謝。當我決定不可接受並發現此答案時,我正在尋找在大約10個小時內復制7GB數據的方法-非常有幫助。
很有幫助的答案...但是我的讀者說USB 3.0卻保持6.0 MB / s的速度...不知道為什麼...使用SDHC(4)microSD卡。無論如何,由於使用disk1時為1.0 MB / s,因此仍然更好
好,這有所作為..從2.0〜2.2mb / s上升到42.0〜46.5mb / s ...“ r”字符有什麼不同!謝謝!
iolsmit
2012-07-12 21:11:23 UTC
view on stackexchange narkive permalink

很可能是SD卡太慢了。

看看此基準(隨機寫入,4 KB(QD = 1)[MB / s]),您會看到大多數SD卡的寫入性能很差小文件的性能(低於100 kB / s)-典型的linux安裝包括將許多小文件寫入磁盤。

內部讀卡器應該能夠以至少20 MB / s的速度讀/寫-另一個讀卡器不太可能會改善這種SD卡的使用體驗。

一旦所有文件都被寫入,即安裝了系統,實際上您就可以從SD卡以可接受的速度運行Linux了-因為它主要是讀取權限。

對於下注者,請參閱[this post](http://apple.stackexchange.com/a/55015/14994)
儘管在另一個已知良好的讀卡器中測試卡,然後在可疑讀取器中測試已知良好的卡,這將是一個很好的實驗。還要注意,對於許多小文件而言,在文件系統數據結構中用於創建新文件(而不是寫入其內容)的所有“文書工作”非常大。
儘管SD卡不是很快,但對於當今的SD卡而言,速度(328198字節/秒,後來的288881字節/秒)是無法想像的(感覺更像是軟盤驅動器)。由於這是“ dd”,因此意味著一個文件-而不是多個小文件。
ddiepo
2012-09-17 10:03:23 UTC
view on stackexchange narkive permalink

如果卡上安裝了sync選項,則意味著每個文件關閉都會導致寫入操作刷新到磁盤,因此與大文件相比,您在小文件上的性能會很差。如果您從掛載選項中刪除同步,則無法保證寫入文件會導致該文件進入磁盤-您必須從命令行手動調用同步,或者在刪除或關閉電源之前先卸載設備。但是,如果沒有同步,您應該會看到小文件的寫入性能大大提高。

根據`man mount`,異步已經是默認的了。
John Kraft
2017-07-28 06:31:23 UTC
view on stackexchange narkive permalink

不,這顯然是Mac OS的問題。當我在同一台Macintosh上運行的虛擬機上使用Linux進行相同的操作時,我的性能將大大提高。也就是說,VM比本機OS快5倍。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...