Следует ли использовать опцию «discard» для монтирования файла подкачки?

Следует ли использовать опцию «discard» для монтирования файла подкачки?

Arch Wiki говориткоторый defaults,discardможет быть использован в fstabфайле для раздела подкачки. Однако не ясно, что такое файл подкачки, истраница руководства.

Если файл подкачки находится в файловой системе, которая сама смонтирована с опцией discard(и, очевидно, находится на SSD), должен ли он использовать discardсебя? А что, если родительская файловая системанет discard'ing?

Интуиция подсказывает «нет», но я не смог найти ничего по этому поводу и подумал, что стоит это обсудить.

решение1

Я бы сказал, нет.

1: Пространство подкачки не использует ту же концепциюсвободное местокак файловая система

2: важно, чтобы на вашем SSD всегда оставалось не менее 25% свободного места (это значение мне сообщил представитель Sandisk по телефону), чтобы обеспечить надлежащую работу по выравниванию износа.

=> пока на диске есть свободные кластеры для работы и выполнения WL, не имеет значения, если 5% вашего диска никогда не обрезаются или постоянно перезаписываются: даже когда ВЫ перезаписываете одни и те же логические или физические сектора, WL в любом случае будет использовать другие кластеры, если вы записываете достаточно большие блоки.

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

Другой вопрос: поддерживает ли драйвер подкачки функцию discard? ext3/ext4 поддерживают.

Возможно, если ваш swap занимает значительный % диска, если вы можете, вы могли бы сбросить/обрезать пространство подкачки во время выключения: если вы можете, после завершения работы всех служб выполните swapoff и найдите способ сбросить пространство подкачки (поскольку я не эксперт, и чтобы не оставлять вопрос без ответа, я бы предложил снова mkfs.ext3, fstrim, mkswap - вероятно, есть и другие лучшие решения. Проверьте, не вызвано ли выключение ИБП.).

решение2

На некоторые вопросы/предложения, оставленные в другом ответе, можно ответить, прочитав документацию ниже.

Я не думаю, discardчто рекомендуется для файловых систем. Рекомендуется запускать fstrimпериодически. Вы можете найти cron-задание для этого.

Разработчики ядра не особенно довольны производительностью операций сброса, даже в последнее время. Она слишком сильно различается между устройствами. И вы должны делать периодические сбросыв любом случае, поскольку устройствам разрешено прекращать операции сброса, если они слишком заняты.

Как говорится в другом ответе, ваша файловая система намного больше, чем пространство подкачки, поэтому, если вы не можете доказать обратное, лучше не добавлять эту опцию discard. И discard=onceэто умно, но все равно, скорее всего, замедлит загрузку (если пространство подкачки использовалось). Поэтому я не считаю, что ее стоит включать.

человек своппон

-d, --discard[=политика]

Включить сбросы свопа, если устройство подкачки поддерживает операцию сброса или обрезки. Это может улучшить производительность на некоторых твердотельных устройствах, ночасто это не так. Эта опция позволяет выбрать одну из двух доступных политик сброса подкачки: --discard=once для выполнения однократной операции сброса для всей области подкачки в swapon; или --discard=pages для асинхронного сброса освобожденных страниц подкачки до того, как они станут доступны для повторного использования. Если политика не выбрана, поведением по умолчанию является включение обоих типов сброса. Параметры монтирования /etc/fstab discard, discard=once или discard=pages также могут использоваться для включения флагов сброса.

Связанный контент