У меня есть компактный ноутбук Dell SoC (система на чипе) с запоминающим устройством DF4032 SanDisk eMMC 32 ГБ , припаянным к его единственной плате, и информации о поддержке TRIM для него нет нигде. Файл fstrim находится по адресу /etc/cron.weekly/
#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true
Запуск fstrim вручную возвращает «30 ГБ ('N' байтов) обрезано" (очевидно, работает, верно?)
sudo hdparm -I /dev/mmcblk0 | grep "TRIM supported"
НО приведенная выше команда возвращает
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Так как еще я могу проверить, выполняет ли Ubuntu TRIM из коробки для этой eMMC или поддерживает ли она вообще? Было бы безопасно включить --no-model-check в файл fstrim? Мне нужно было бы указать устройство / dev / mmcblk0, чтобы оно не мешало при вставленной SDHC-карте. TRIM может быть смертельно опасным для некоторых не очень популярных устройств.
ОБРЕЗКА не работает через USB, но обычно, Вы получаете сообщение о "неподдерживаемом ioctl" при выполнении его на таком устройстве (внешняя дисковая полка USB). Подтвердите, что Ваш mmcblk0 находится действительно не на USB:
lsblk -o TRAN,SUBSYSTEMS,NAME,TYPE
Мои SD-карты на mmcblk0 не перечисляют TRAN, но, кажется, появляются при ответвлении USB, так как это следует за USB. Однако добавление ПОДСИСТЕМ показывает, что они не находятся на USB. Вероятно, нет проблемы с ОБРЕЗКОЙ на Вашем устройстве, если Вы не получаете ошибок или жалоб. Мой вывод:
sata block:scsi:pci sdb disk
block:scsi:pci sdb1 part
block:scsi:pci sdb2 part
block:scsi:pci sdb3 part
usb block:scsi:usb:pci sdc disk
block:scsi:usb:pci sdc1 part
block:mmc:mmc_host:pci mmcblk0 disk
block:mmc:mmc_host:pci mmcblk0p1 part
block:mmc:mmc_host:pci mmcblk0p2 part