Я устанавливал некоторые дистрибутивы Linux на SD-карту с моего MacBook, хотя на передачу нескольких сотен МБ (используя dd
и /dev/disk1
) уходит более часа .
Если вы посмотрите на приведенный выше вывод, он работает со скоростью примерно 0,31 МБ / с! SD-карта относится к классу 10, а мой MacBook Pro - это Intel Core 2 Duo с тактовой частотой 2,66 ГГц, DDR3 с тактовой частотой 4 ГБ 1067 МГц и OS X Lion 10.7.4. Вот аппаратный отчет для кард-ридера:
Встроенный кард-ридер SD:
Идентификатор поставщика: 0x05ac Идентификатор
продукта: 0x8403
Редакция: 1.00 Серийный номер: 9833Карта SDHC:
Емкость: 7,97 ГБ (7 969 177 600 байт).
Съемный носитель : да Имя BSD: диск1
Тип карты раздела: MBR (основная загрузочная запись)
Состояние SMART: не поддерживается
Тома:PI:
Емкость: 7,96 ГБ (7 964 983 296 байт).
Файловая система: MS-DOS.
Имя BSD: disk1s1.
Содержимое: DOS_FAT_32.
Любые идеи, почему переход к /dev/disk1
так медленно и как я мог ускорить его?
источник
Ответы:
Просто столкнулся с той же проблемой, и кажется, что
/dev/disk*
это медленно, потому что это буферизовано. Если вы используете соответствующее устройство rdisk (например:),/dev/rdisk1s1
вы должны получить ожидаемую скорость. Это, очевидно, вещь BSD.Пример:
Ref:
Замечание о доступе для разработчиков
Разместить в списке рассылки Apple
источник
Вполне может быть, что SD-карта такая медленная.
Взгляните на этот тест (случайная запись, 4 КБ (QD = 1) [МБ / с]), и вы увидите, что большинство SD-карт имеют низкую производительность записи (ниже 100 КБ / с) для небольших файлов - и Типичная установка Linux состоит из множества небольших файлов, записанных на диск.
Внутренний кард-ридер должен быть способен считывать / записывать не менее 20 МБ / с - очень маловероятно, что другой кард-ридер улучшит ваши впечатления от этой самой SD-карты.
После того, как все файлы записаны, т.е. система установлена, вы действительно сможете запускать Linux с SD-карты с приемлемой скоростью - так как это в основном доступ для чтения.
источник
Если карта монтируется с опцией синхронизации, это означает, что при каждом закрытии файла запись записывается на диск, и, следовательно, ваша производительность для маленьких файлов будет ужасной по сравнению с большими файлами. Если вы удалите синхронизацию из параметров монтирования, то нет гарантии, что запись файла приведет к его выходу на диск - вам придется вручную вызвать синхронизацию из командной строки или отключить устройство перед его удалением или выключением. Однако без синхронизации вы увидите, что производительность записи небольших файлов значительно улучшится.
источник
man mount
Async уже по умолчанию.Нет, это явно проблема с Mac OS. Я получаю значительно более высокую производительность, когда выполняю ту же самую операцию, используя Linux на виртуальной машине, работающей на том же Macintosh. Т.е. виртуальная машина примерно в 5 раз быстрее родной ОС.
источник