Здравствуйте.
Подозрительно низкая скорость чтения и записи на SD карту.
железо: Wirenboard 6 (HW 6.5) + WBE3-MICROSD
Порядок действий:
-
Купили SD карту (WD Purple 64GB: microSDXC UHS-I).
-
Вставил карту, настроил WBE3-MICROSD, появилось /dev/mmcblk1
-
Отформатировал раздел (mkfs.ext4 -F /dev/mmcblk1p1)
-
Примонтировал (mount /dev/mmcblk1p1 /mnt/sdcard)
-
Далее произвожу тест записи:
dd if=/dev/zero of=/mnt/sdcard/test2 bs=20M count=1 oflag=direct
…
20971520 bytes (21 MB, 20 MiB) copied, 30.7943 s, 681 kB/s -
Сбрасываю кэш:
/sbin/sysctl -w vm.drop_caches=3 -
Тест чтения:
dd if=/mnt/sdcard/test2 of=/dev/null bs=20M count=1
…
20971520 bytes (21 MB, 20 MiB) copied, 28.8253 s, 728 kB/s
Пробовал различные варианты block size и count - значения колеблются вокруг 600-800 Кб/сек, что очень далеко от 4.5-18 МБ/сек, описанных в документации.
Ну и в целом заметно, что операции с картой ооочень долгие.
Подскажите, что я делаю не так?
П.С.
еще одна странность,
Изначально на карте был exFAT, или во что там производители карты форматируют, но после создании файловой системы, вывод утилиты fdisk вот такой:
/dev/mmcblk1p1 32768 124735487 124702720 59.5G 7 HPFS/NTFS/exFAT
а вывод утилиты mkfs вот такой:
/dev/mmcblk1p1 contains a ext4 file system
Почему-то fdisk считает, что на карте все еще HPFS/NTFS/exFAT … О_О
П.П.С.
Проверил скорость этой карты через USB-кардридер в Винде: запись около 15 МБ/сек. Что маловато, но сойдет.
Потом этот же кардридер подключил к Wirenboard и еще раз проделал все вышеописанное, только с устройством /dev/sda1 и получил те же 13-15 МБ/с на чтение и запись.
То есть это модуль WBE3-MICROSD такой медленный? Или с ним что-то не так?