Zainstalowałem niektóre dystrybucje linuksa na karcie SD z mojego MacBooka, chociaż przesłanie kilkuset MB zajmuje ponad godzinę (używając dd
i /dev/disk1
).
Jeśli spojrzysz na powyższe wyjście, działa ono z grubsza około 0,31 MB / s! Karta SD to klasa 10, a moim MacBookiem Pro jest Intel Core 2 Duo 2,66 GHz, 4 GB pamięci DDR3 1067 MHz i OS X Lion 10.7.4. Oto raport sprzętu dla czytnika kart:
Wbudowany czytnik kart SD:
Identyfikator dostawcy: 0x05ac
Identyfikator produktu: 0x8403
Wersja: 1.00 Numer seryjny: 9833Karta SDHC:
Pojemność: 7,97 GB (7 969 177 600 bajtów)
Nośniki wymienne: Tak Nazwa BSD: dysk1
Typ mapy partycji: MBR (główny rekord rozruchowy)
Status SMART: Nieobsługiwane
woluminy:PI:
Pojemność: 7,96 GB (7 964 983 296 bajtów)
System plików: MS-DOS
BSD Nazwa: disk1s1
Treść: DOS_FAT_32
Jakieś pomysły, dlaczego przeniesienie /dev/disk1
jest tak wolne i jak mogę to przyspieszyć?
źródło
Odpowiedzi:
Właśnie natrafiłem na ten sam problem i wydaje się, że
/dev/disk*
jest powolny, ponieważ jest buforowany. Jeśli używasz odpowiedniego urządzenia rdisk (np .:)/dev/rdisk1s1
, powinieneś uzyskać oczekiwaną prędkość. To najwyraźniej sprawa BSD.Przykład:
Ref:
Uwaga na temat dostępu dla deweloperów
Publikuj na liście mailingowej Apple
źródło
Możliwe, że karta SD jest tak wolna.
Spójrz na ten test porównawczy (zapis losowy, 4 KB (QD = 1) [MB / s]), a zobaczysz, że większość kart SD ma kiepską wydajność zapisu (poniżej 100 kB / s) dla małych plików - i typowa instalacja linuksowa składa się z wielu małych plików zapisanych na dysku.
Wewnętrzny czytnik kart powinien być zdolny do odczytu / zapisu co najmniej 20 MB / s - jest bardzo mało prawdopodobne, że inny czytnik kart poprawi twoje wrażenia z korzystania z tej karty SD.
Po zapisaniu wszystkich plików, tj. Zainstalowaniu systemu, może być możliwe uruchomienie Linuksa z karty SD z akceptowalną prędkością - ponieważ jest to w większości dostęp do odczytu.
źródło
Jeśli karta jest zamontowana z opcją synchronizacji, oznacza to, że każde zamknięcie pliku powoduje, że zapis jest opróżniany na dysk, a zatem wydajność małych plików będzie straszna w porównaniu z dużymi plikami. Jeśli usuniesz synchronizację z opcji montowania, nie ma gwarancji, że zapisanie pliku spowoduje wyjście na dysk - musisz ręcznie wywołać synchronizację z wiersza polecenia lub odmontować urządzenie przed usunięciem lub wyłączeniem zasilania. Jednak bez synchronizacji wydajność zapisu małych plików powinna znacznie wzrosnąć.
źródło
man mount
Async jest już domyślny.Nie, to wyraźnie jakiś problem z Mac OS. Wydajność jest znacznie wyższa, gdy wykonuję tę samą operację za pomocą Linuksa na maszynie wirtualnej działającej na tym samym komputerze Macintosh. Tj. Maszyna wirtualna jest około 5 razy szybsza niż natywny system operacyjny.
źródło