Почему разделы подкачки не рекомендуются на твердотельных накопителях, вредны ли они?

Я часто читаю, что не следует размещать разделы подкачки на твердотельном накопителе, так как это может нанести вред устройству. Это правда? Не могли бы вы, пожалуйста, объяснить мне причину?

Потому что в противном случае я бы подумал, что размещение подкачки на твердотельном накопителе - лучший выбор, поскольку он намного быстрее жестких дисков, и поэтому замена содержимого оперативной памяти на твердотельный накопитель происходит не так медленно, как это было бы с жестким диском...

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

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

Чтобы иметь значение, которое мы могли бы использовать для сравнения долговечности твердотельного накопителя, мы можем использовать такие показатели срока службы, как Опубликованные стандарты JEDEC. Широко доступным значением выносливости является TBW (TэраBytes Wриттен, или в качестве альтернативы общее количество записанных байт), который представляет собой количество байтов, доступных для записи до сбоя диска. Современные твердотельные накопители могут набирать всего 20 ТБ для потребительского продукта, но могут набирать более 20 000 ТБ для твердотельных накопителей корпоративного уровня.

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

Системы с большим объемом оперативной памяти

В системе с большим количеством оперативной памяти и небольшим количеством приложений, потребляющих память, мы почти никогда не будем меняться местами. Это всего лишь мера безопасности для предотвращения потери данных в случае, если приложение съест всю нашу оперативную память. В этом случае износ твердотельного накопителя при замене не будет проблемой. Однако наличие этого в основном неиспользуемого раздела подкачки на обычном жестком диске не приведет к снижению производительности, поэтому мы можем безопасно поместить наш раздел подкачки (или файл) на этот значительно более дешевый жесткий диск и использовать пространство на нашем SSD для чего-то более полезного.

Системы с небольшим объемом оперативной памяти

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

Переход нашей системы в спящий режим

Выход из спящего режима действительно происходит очень быстро с твердотельного накопителя. Если нам повезет и наша система без проблем перейдет в спящий режим, мы можем рассмотреть возможность использования для этого твердотельного накопителя. Это приведет к износу твердотельного накопителя больше, чем просто загрузка с него, но мы можем почувствовать, что оно того стоит.

Но загрузка с твердотельного накопителя может занять не намного больше времени, чем выход из спящего режима с твердотельного накопителя, и это приведет к гораздо меньшему износу твердотельного накопителя. Лично я вообще не переводлю свою систему в спящий режим - я приостанавливаю работу в оперативной памяти или быстро загружаюсь со своего SSD.

Твердотельный накопитель - единственный накопитель, который у нас есть

В данном случае у нас действительно нет выбора. Мы не хотим работать без подкачки, поэтому мы должны поместить его на твердотельный накопитель. Однако мы можем захотеть иметь меньший файл подкачки или раздел, если мы не планируем переводить нашу систему в спящий режим в любой момент.

Примечание о скорости

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

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

Современные твердотельные накопители не имеют этой проблемы, и они не должны выходить из строя быстрее, чем сопоставимый жесткий диск. Размещение swap на твердотельном накопителе приведет к повышению производительности, чем размещение его на жестком диске, благодаря его более высокой скорости.

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

Даже если у вас достаточно оперативной памяти, вы все равно можете запретить любое копирование файлов или поиск для замены приложений из оперативной памяти. Это может иметь место на файловых серверах (NAS, SAMBA, FTP), которые могут быть задействованы в больших файловых операциях.

Для того, чтобы сделать это, лучше всего установить в /etc/sysctl.conf:

vm.swappiness=1vm.vfs_cache_pressure=50

Первая настройка предотвращает кэширование диска (например, выполнение cp) от замены существующих приложений из оперативной памяти. Обычное значение по умолчанию для этого равно 60. Обратите внимание, что использование 0, хотя и более агрессивное, иногда приводит к возникновению ошибок из-за нехватки памяти.

Вторая настройка предотвращает поиск файлов (например, выполнение find) от замены существующих приложений из оперативной памяти. Обычное значение по умолчанию для этого равно 100.

Хотя автор, упомянутый в ссылке, явно не ссылается на твердотельные накопители, этот подход также снижает износ твердотельных накопителей из-за уменьшения замены, и он также приводит пример того, как его протестировать.

Ссылка: https://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that

Технология жестких дисков использует магнитный процесс для обработки и хранения данных. Этот процесс неинвазивен, что означает, что вы можете в значительной степени бесконечно манипулировать данными на диске. То есть до тех пор, пока механика не начнет выходить из строя. В отличие от этого, технология твердотельных накопителей не подвержена риску механического повреждения. Но что вызывает беспокойство, так это то, как он хранит свои данные. Для хранения данных твердотельные накопители используют контролируемые всплески электрической энергии. Полупроводники, на которые воздействует этот электрический ток, медленно изнашиваются в процессе эксплуатации с течением времени.

Этот процесс был улучшен с помощью обновлений программного и аппаратного обеспечения. Ранние адаптеры обнаружили, что ОС не были запрограммированы на правильное хранение данных так, как это делает твердотельный накопитель. Это отрицательно сказывается на том, что твердотельный накопитель подвергается большому количеству циклов чтения / записи. Кроме того, большинство старых BIOS не распознают SSD должным образом, и это также вызвало проблемы.

Внедрение UEFI и обновлений операционной системы устранило большинство проблем, с которыми сталкивались первые владельцы твердотельных накопителей. Кроме того, как и в любом производственном процессе, сами твердотельные накопители стали лучше справляться с деградацией флэш-накопителей NAND и поддерживать ее.

Тем не менее, по-прежнему вызывает беспокойство то, что ваш твердотельный накопитель имеет ограниченное количество циклов чтения / записи, прежде чем он больше не сможет хранить данные. Хотя эта проблема столь же незначительна, как и сбой вашего жесткого диска.

Есть очень подробный подкаст на эту тему здесь если вы хотите подробнее ознакомиться с этой темой.

Баланс Между Жизнью И Производительностью.

Вы купили твердотельный накопитель из-за его преимуществ в производительности, а не просто для увеличения времени автономной работы, верно? Так что используйте свой твердотельный накопитель именно для этой цели, чтобы ускорить работу вашей системы.

Если вы можете позволить себе добавить больше оперативной памяти, чтобы уменьшить * ввод-вывод подкачки, то это явно увеличит срок службы вашего твердотельного накопителя, поскольку еще одним утечкой производительности, очевидно, являются циклы ввода-вывода для подкачки пространства в файловой системе.

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

Яесли у вас есть место для хранения SSD-накопителя в дополнение к вашему SSD-накопителю none, затем запишите файлы, которые будут редко меняться, на ваш SSD-накопитель none и сохраните часто используемые файлы на вашем SSD-накопителе.
Это обеспечит, чтобы …

[1] - Функции *trim будут иметь ресурсы для выполнения необходимых действий для равномерного использования всего накопителя. [Выгода = Жизнь]

[2] - Задержка ввода-вывода будет уменьшена благодаря использованию высокоскоростного твердотельного накопителя для доступа к часто используемой файловой системе. [Выгода = Производительность]

Cнастройте свою временную файловую систему так, чтобы она использовала пространство, когда это необходимо для ваших конкретных системных потребностей, если у вас достаточно оперативной памяти, тогда подумайте о том, чтобы установить менее агрессивный уровень подкачки, это гарантирует, что…

[1] - Ввод-вывод SSD сокращен, но ваша система по-прежнему будет соответствовать требованиям своих пользователей. [Выгода = Жизнь]

Do вам действительно нужны все эти журналы? Подумайте, что и где регистрирует ваша система.

[1] – Ввод-вывод SSD уменьшается по мере уменьшения доступа к файлам журнала. [Выгода = Срок службы и производительность]

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

*обмен - Помните, что это используется не только при нехватке ресурсов, возможность подкачки, настраиваемая для многих дистрибутивов Linux из коробки по умолчанию, позволит размещать длительно выполняющиеся процессы с низким приоритетом дальше по лестнице производительности в пространстве подкачки)

*Обрезка – стоит убедиться, что он у вас включен, хорошая статья о том, что такое trim и как он работает: http://searchstorage.techtarget.com/definition/TRIM

Принятый ответ объясняет теорию; Я бы подумал, что мог бы добавить немного реальных данных из двух моих систем.

Настольная система

  • Имеет 400 ГБ Твердотельный накопитель Intel 750.
  • Имеет 32 Гб оперативной памяти; подкачка требуется не часто.
  • Однако он регулярно переходит в спящий режим (скажем, один раз в день), что требует большой записи подкачки.
  • Используется чуть более 4 лет.
  • Запускает Debian на ext4 и раздел подкачки.
  • Раньше он содержал установку Windows 10 в течение нескольких лет, но больше нет.
  • Не имеет конфигурации, позволяющей сэкономить SSD (без настройки подкачки и т.д.).

По словам SMART, он видел 28TiB записей за всю жизнь (19GiB / день). В файловой системе ext4 за весь срок службы было записано 18 гигабайт (12 Гигабайт в день). Остальная часть связана с заменой и установкой Windows.

Согласно Intels SSD Toolbox, накопитель находится в отличном состоянии, и его срок службы составляет около 95%.:

Intel SSD Toolbox summary

Нетбук

  • Acer Aspire ES1-132, используется в течение 3 лет.
  • Имеет около 60 ГБ MMC SSD.
  • Имеет 4 гигабайта памяти, так что, вероятно, больше нагрузки на подкачку; хотя использование системы, как правило, довольно невелико.
  • Редко впадает в спячку.
  • Запускает Debian 10 на ext4 с отдельным разделом подкачки.
  • Не имеет конфигурации, позволяющей сэкономить SSD (без настройки подкачки и т.д.).

Кажется, я не могу получить общее количество записей с устройства, но файловая система ext4 зафиксировала почти ровно 1TiB записей (1GiB в день). Согласно с mmc-utils:

# mmc extcsd read /dev/mmcblk0 | egrep -i 'life|eol'eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x01eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01

Что означает Было использовано 0-10% запасных блоков твердотельного накопителя, и привод имеет "Нормальный статус до EOL";. Как я это интерпретирую, у накопителя осталось > 90% срока службы.

Вывод

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

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

Январь 2021 года. Я использую небольшой выделенный твердотельный накопитель корпоративного класса в качестве накопителя подкачки. Эти корпоративные диски можно купить всего за 80 долларов за 240 ГБ прямо сейчас, и они представляют собой 3D nand с выравниванием нагрузки и другими ценными улучшениями для подкачки.

Используя диск только для подкачки, вы в значительной степени гарантируете, что это не повлияет на ваш дорогой накопитель данных терабайтного уровня в случае его сбоя, и вы по-прежнему получаете производительность SSD. Оценки для очень интенсивного использования составляют около 2 1/2 лет.