Вызывает ли `fstrim `запись во все свободные блоки каждый раз?

Вы можете печатать временные метки, используя механизм трассировки Bash, учитывая, что \tрасширен в$PS4:

$ PS4='+ \t> ' bash -x -c "sleep 1; sleep 2; sleep 3"
+ 18:41:05> sleep 1
+ 18:41:06> sleep 2
+ 18:41:08> sleep 3

Это должно быть легко применить для отслеживания ваших .bashrcи/или .profileи т. д.

1
18.06.2019, 03:45
1 ответ

Команда ATA trimтолько изменяет метаданные на жестком диске, она определенно не выполняет записи низкого уровня в ячейки памяти. Если диск поддерживает deterministic trim, обрезанный блок возвращается с нулями, однако это делается контроллером на основе нового состояния метаданных, а не потому, что ячейки были фактически стерты во время команды trim.

trimкоманды, к сожалению, учитываются как записи во всей статистике ядра, о которой я знаю. Таким образом, iostatили sarили /sys/fs/ext4/*/lifetime_write_kbytesдают сумму истинных операций записи и обрезки . См. также вопрос о суперпользователе .

fstrimпри запуске раз в неделю освобождает все неиспользуемое дисковое пространство. Например, если у вас есть диск емкостью 1 ТБ, который используется на 50 %, активность по умолчанию fstrimотображается в статистике как 500 ГБ записи в неделю или 70 ГБ в день.

Суть в том, что:в статистике записи легко преобладает обрезка, учитываемая как запись, особенно для умеренно заполненных файловых систем .

1
27.01.2020, 23:41

Теги

Похожие вопросы