1

Недавно я установил SSD на мою систему Linux Mint 17.1. Я настроил такие общие вещи, как планировщик io: noop, mount /tmp и /var /log over tmpf, запуская fstrim для корневых и домашних разделов при запуске, используя rc.local. У меня есть 8 ГБ оперативной памяти, поэтому я также удалил раздел подкачки.

Но сразу после входа в систему и выполнения 5-10 минут только для консоли, когда я выполнил команду fstrim, она сократилась до 300 МБ. Я ничего не скачивал за это время.

Поэтому мой вопрос: почему так много байтов, которые обрезаются? Я не удаляю большие файлы. Что бы это могло быть?

Заранее спасибо.

1 ответ1

1

TLDR: fstrim сообщает о неверном количестве обрезанных байтов.

Очень похожий вопрос был задан на Unix Stackexchange. Принятый ответ гласит:

Это распространенное заблуждение беспокоиться о размерах, о которых сообщает fstrim.

Это действительно ничего не значит. Просто игнорируй это.

fstrim просто выдает соответствующий ioctl, все остальное - решение файловой системы, а файловые системы ведут себя совсем по-другому. Например, ext4 пытается избежать обрезания одних и тех же вещей снова и снова, поэтому вы увидите обрезание 0 байтов. xfs не заботится и обрезает все, что бесплатно, поэтому вы всегда будете видеть обрезанные байты. Другие файловые системы могут делать другие вещи, все зависит от того, как файловая система решила реализовать логику системного вызова FITRIM, если она вообще реализована.

Пока объем обрезанных данных не превышает свободного пространства, все будет в порядке, независимо от того, что сообщает fstrim (файловая система, на самом деле).

В конце концов, только сам SSD действительно знает, что в данный момент урезано, а что нет. Обрезка уже урезанных блоков не приносит никакого вреда.

Не делайте выводов, основываясь на урезанных x байтах, как сообщает fstrim.

Если вы хотите убедиться, что данные были обрезаны, вы должны проверить необработанные данные на диске. ( https://unix.stackexchange.com/a/85880/30851 ), но этот метод может не работать для btrfs, я никогда не пробовал.

Я спросил ОП о конкретном случае, который вы описываете (файловая система ext4 сообщает о нескольких сотнях мегабайтных данных, хотя никаких значительных операций записи или удаления не произошло. Он ответил:

Как только вы сделаете небольшое изменение, оно обрежет большую область (но все же меньше, чем свободное пространство). Также он может не помнить при перезагрузках. Я не смотрел на реализацию подробно, я думаю, что это не так хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .