Come posso velocizzare la velocità di scrittura della scheda SD (usando / dev / disk *) su un MacBook Pro?

17

Ho installato alcune distribuzioni Linux su una scheda SD dal mio MacBook, sebbene impieghino più di un'ora per trasferire alcune centinaia di MB (usando dd e /dev/disk1 ).

Se guardi l'output sopra riportato, funziona a circa 0,31 MB / s! La scheda SD è una Classe 10 e il mio MacBook Pro è Intel Core 2 Duo a 2,66 GHz, DDR3 a 1067 MHz a 4 GB e OS 10 Lion 10,7.4. Ecco il rapporto hardware per il lettore di schede:

Built in SD Card Reader:

Vendor ID: 0x05ac
Product ID: 0x8403
Revision: 1.00 Serial Number: 9833

SDHC Card:

Capacity: 7.97 GB (7,969,177,600 bytes)
Removable Media: Yes BSD Name: disk1
Partition Map Type: MBR (Master Boot Record)
S.M.A.R.T. status: Not Supported
Volumes:

PI:
Capacity: 7.96 GB (7,964,983,296 bytes)
File System: MS-DOS
BSD Name: disk1s1
Content: DOS_FAT_32

Qualche idea sul perché il trasferimento a /dev/disk1 sia così lento e su come potrei accelerarlo?

    
posta StuR 11.07.2012 - 22:06
fonte

4 risposte

38

Ci siamo imbattuti nello stesso problema e sembra che /dev/disk* sia lento perché è bufferizzato. Se usi il dispositivo rdisk corrispondente (es: /dev/rdisk1s1 ) dovresti ottenere la velocità che ti aspetti. Questa è apparentemente una cosa BSD.

Esempio:

% sudo dd if=pi.bin of=/dev/disk1 bs=1m count=4095
^C408+0 records in
407+0 records out
426770432 bytes transferred in 1393.452305 secs (306268 bytes/sec)

% sudo dd if=pi.bin of=/dev/rdisk1 bs=1m count=4095
4095+0 records in
4095+0 records out
4293918720 bytes transferred in 378.669512 secs (11339489 bytes/sec)

Rif:

risposta data 02.10.2012 - 21:10
fonte
3

Potrebbe essere che la scheda SD sia così lenta.

Dai un'occhiata a questo benchmark (Scrivi a caso , 4 KB (QD = 1) [MB / s]) e vedrete che la maggior parte delle schede SD ha una performance di scrittura scadente (inferiore a 100 kB / s) per file di piccole dimensioni - e una tipica installazione di Linux è composta da un sacco di piccole i file sono stati scritti sul disco.

Il lettore di schede interno dovrebbe essere in grado di leggere / scrivere almeno 20 MB / s - è molto improbabile che un altro lettore di schede possa migliorare la tua esperienza con questa scheda SD.

Una volta che tutti i file sono stati scritti, ovvero il sistema è installato, potresti essere in grado di eseguire Linux dalla scheda SD in modo accettabile, poiché è in gran parte un accesso in lettura.

    
risposta data 12.07.2012 - 18:11
fonte
1

Se la scheda è montata con l'opzione di sincronizzazione, significa che ogni file chiuso fa sì che la scrittura venga scaricata su disco e quindi le prestazioni su file di piccole dimensioni saranno terribili se confrontate con file di grandi dimensioni. Se si rimuove la sincronizzazione dalle opzioni di montaggio, non è possibile garantire che la scrittura di un file causi l'uscita su disco: è necessario chiamare manualmente la sincronizzazione dalla riga di comando o smontare il dispositivo prima di rimuoverlo o spegnerlo. Tuttavia, senza sincronizzazione dovresti vedere i piccoli file che le prestazioni di scrittura migliorano drasticamente.

    
risposta data 17.09.2012 - 07:03
fonte
1

No, questo è chiaramente un problema con il Mac OS. Ottengo prestazioni significativamente più veloci quando faccio questa stessa operazione usando Linux su una macchina virtuale in esecuzione sullo stesso Macintosh. Ad esempio, la VM è circa 5 volte più veloce del sistema operativo nativo.

    
risposta data 28.07.2017 - 03:31
fonte

Leggi altre domande sui tag