Стоит ли отключать файл подкачки с помощью SSD?


26

Я читал этот вопрос , и в нем много полезной информации.

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

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

Ребята, что вы думаете?


Я бы оставил это включенным. Современные SSD должны выдерживать дистанцию. Смотрите: storagesearch.com/ssdmyths-endurance.html .
Мэтт

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

Ответы:


22

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

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

Существует также большой объем дезинформации, как в Интернете, так и здесь, о сбое сервера, о SSD, страдающих от плохой продолжительности жизни. У ранних моделей SSD вполне могли быть проблемы, и флэш-накопители USB определенно начинают выходить из строя, но SSD корпоративного класса имеют гораздо лучшие алгоритмы выравнивания износа, а некоторые используют запасную флэш-память для повышения производительности и износа.

Например, диски Intel X25-E требуют длительности записи в 1 петабайт для произвольной записи на диск емкостью 32 ГБ. Если вы непрерывно насыщаете интерфейс записи (200 МБ / с) перезаписью, я предполагаю, что это продлится около 58 дней. Но это примерно 17 ТБ данных в день на этот диск.

Типичная нагрузка сервера на диск с ОС будет намного, намного меньше, даже если у вас есть файл подкачки. Назовите это 50 ГБ в день. Если цифра в 1 ПБ является точной (и я знаю, что ее можно считать средней величиной, об этом поговорим позже), это все равно где-то к северу от 50 лет.

Конечно, эти цифры кажутся нелепо высокими, поэтому давайте посмотрим на реальные цифры, приведенные Intel для ожидаемой долговечности накопителей . Корпорация Intel была рада подготовить диски MLC (не корпоративные) для записи 100 ГБ данных каждый день в течение пяти лет. Стандартное понимание флэш-памяти SLC и MLC гласит, что флэш-память SLC длится примерно в 10 раз дольше, чем MLC (ссылка выше также показывает это на графике).

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

Если вы используете MLC SSD, то, возможно, вы правы, что беспокоитесь. Но имейте в виду, что если Intel с удовольствием оценит накопитель в 100 ГБ / день в течение пяти лет, это все равно в основном то же, что 50 ГБ / день в течение 10 лет. И, возвращаясь к моей первоначальной точке зрения, вам все равно нужно знать, какую реальную нагрузку вы будете выполнять на диске.

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

(Кроме того, если вы используете цифры, скажем, 100 ГБ в день в течение 50 лет, то есть «SLC длится в 10 раз дольше, чем MLC», похоже, что Intel говорит, что их 32 ГБ накопитель фактически имеет общее время жизни записи ближе к 2 ПБ данных, а не к 1 ПБ, указанному в спецификации продукта. Даже если я доверяю только меньшему из этих двух значений, я буду рад, что мои диски X25-E прослужат значительно к северу от 10 лет.)


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

15

В дополнение к долговечности, вероятно, не проблема, как упоминает Даниэль Лоусон, и отзывы от самой команды MS (ниже), рассмотрим

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

Нужно ли размещать файл подкачки на SSD?

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

Рассматривая данные телеметрии из тысяч трассировок и сосредотачиваясь на чтениях и записи файлов подкачки, мы находим, что

  • Pagefile.sys читает больше, чем pagefile.sys пишет примерно на 40 к 1
  • Размер чтения Pagefile.sys обычно довольно мал: 67% меньше или равно 4 КБ и 88% меньше 16 КБ.
  • Записи Pagefile.sys относительно велики: 62% больше или равны 128 КБ, а 45% составляют ровно 1 МБ. Фактически, учитывая типичные эталонные шаблоны файла подкачки и благоприятные характеристики производительности, которые имеют SSD для этих шаблонов, существует немного файлов, которые лучше, чем файл подкачки, разместить на SSD.

Поддержка и вопросы и ответы для твердотельных накопителей (MSDN)


9

Вместо того, чтобы вообще отключить файл подкачки, может быть полезно указать ОС не использовать его (например, sysctl vm.swappiness=0).

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


4
Замечательно. Есть ли такой твик для windows?
Пиролистический

Я не уверен, но вы могли бы подражать этому, установив минимальный размер файла подкачки (2 МБ) и увеличив его.
MikeyB

5

Я бы оставил файл подкачки включенным всегда; некоторые части вашей ОС или приложений могут быть написаны так, чтобы ожидать, что они там будут, и, как таковые, могут плохо себя вести, если их нет.

Сказав это, я в прошлом запускал Windows (XP) без файла подкачки, и он был абсолютно доволен всем, что я ему накинул. Хотя всегда было сомнение, что что-то придет, и это не понравится.

Вариант может быть установить его очень маленьким.


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

На самом деле ОС была настроена на включение виртуальной памяти. Вы имеете дело с твердотельными накопителями, или я полагаю, что вы правы - я много читал, говоря, что с ними есть проблема с повторяющейся записью, и виртуальная память, безусловно, делает это. Разве вы не можете поместить файл подкачки / файл подкачки на нужный диск? (кажется нелогичным конечно ...)
Кайл Ходжсон

Почему ОС предполагает наличие файла подкачки? Linux, конечно, нет, и я никогда не видел причин полагать, что Windows тоже так делает
Mikeage

2
Вот причина полагать, что Windows делает: blogs.msdn.com/ericlippert/archive/2009/06/08/…
dmo

3

Это не имеет прямого отношения к ФП, но я хотел исправить ошибочное впечатление в ответе / комментариях выше Рональда и Дэниела. (Я новичок, так что не хватает очков, чтобы комментировать.)

TRIM на самом деле самая большая вещь, которую вы можете сделать, чтобы продлить срок службы SSD. И вот почему: SSD периодически «собирают мусор» - копируют (фрагментированные) данные из частично пустых блоков стирания и записывают их непрерывно во вновь стертый блок.

Адреса переназначаются так, что хост не должен знать об этом. Эта дополнительная операция записи, не связанная напрямую с записью на хост, называется «усилением записи». В худшем случае полностью заполненный твердотельный накопитель с небольшим количеством сверхпропорционального (скрытого запасного) пространства усиление записи может легко составлять от 500% до 700% скорости записи хоста!

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

Таким образом, TRIM действительно важен как для долговечности, так и для производительности.


2

Я уже говорил об этом в другом сообщении, которое вы связали, но мы запускаем очень основной сервер без файла подкачки, и здесь все выглядит хорошо. На самом деле это кажется быстрее без него. У нас 8 ГБ ОЗУ, и я бы сказал, что вы должны принять решение, основываясь на том, достаточно ли у вас ОЗУ, а не на том, является ли ваш жесткий диск SSD или нет. Хотя я могу понять желание спасти его жизнь, не делая ненужных записей.


2

Просто используйте второй жесткий диск для виртуальной памяти.


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

Не возможно на большинстве ноутбуков.
Брайан Кноблаух

0

Я работаю на ноутбуке с 8 ГБ ОЗУ, SSD-дисководом и без файла подкачки, уже больше года никаких проблем. Я столкнулся с одной игрой, в которой требовался файл подкачки, зашел на сайт программного обеспечения и получил команду запуска, чтобы отключить его, проблема решена.

Моему ноутбуку четыре года. Старый, но он работает быстрее, чем некоторые настольные компьютеры, которые новее. Утечки памяти, или файл SWAP, были проблемой с ОС Windows с момента создания этой техники. К сожалению, разработчики Linux пошли по его стопам. Чем меньше программного обеспечения вы используете в фоновом режиме, тем лучше (особенно если это Microsoft).


-1

Я бы сказал, не используйте своп, если вы можете сойти с рук. Или, возможно, повернуть swappiness путь вниз. Хотя его трудно носить (сколько времени потребуется, чтобы записать на весь диск 100 000 раз, при максимальной пропускной способности, которую вы имеете?), Если вам это не нужно.

Опять же, Hibernate (приостановить на диск) не работает без какого-либо подкачки.

Раньше было какое-то странное поведение без подкачки (как на 50-Мбайт ОЗУ для замены, это было бы победой), но это было исправлено прошлым летом (или это был 2007?), Поэтому текущая ОС должна быть в порядке.

Теперь все, что нам нужно, это оборудование, которое поддерживает команду erase (Linux поддерживает ее месяцами), и жизнь на SSD будет просто великолепна.


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

Совершенно верно, это только заставит их работать лучше.
Рональд Поттол

Даниэль (и Рональд): Если SSD знает, что раздел «диска» был освобожден или обнулен, благодаря TRIM, он, вероятно, не будет копировать его при выравнивании записи или управлении небольшими записями. Что означает меньше писем и большую продолжительность жизни, нет? Некоторые источники, которые согласны со мной, кажутся солидными: atpinc.com/Memory-insider/… superuser.com/questions/1063744/… wiki.archlinux.org/index.php/Solid_state_drive#TRIM - отличный ресурс для крайних случаев и т. Д.
Мэтью Элви

-2

У меня два SSD корпоративного класса выгорели на мне очень преждевременно (то есть, в течение гарантийного срока). Я думаю, что причина была в тяжелом обмене из-за побоев. Я часто понимал, что у меня были ненужные процессы, запускающие / глючившие демоны с утечками памяти, так что почти постоянно выполнялась активная операция подкачки. iostat -n9 -w 10Время от времени я бегу в фоновом режиме и замечаю, что часто наблюдается постоянная активность жесткого диска. Также активность процесса ядра (swap) была зарегистрирована как источник большинства операций ввода-вывода. Я вспоминаю одного демона, у которого была утечка памяти в течение нескольких месяцев и которая требовала периодического убийства. Я часто не устраняю неполадки, если система не работает слишком медленно, поэтому часто перебои продолжались долгое время, прежде чем я потратил время на перезапуск демона. И дольше, чтобы утечка была исправлена.

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

Протест , что многие ответов не признать, что если сервер IS обмолота в SSD непрерывно, он будет гореть довольно быстро-перегорания в течение года в этой ситуации является общими. Классическая перегрузка обычно происходит, когда подкачка виртуальной памяти достаточно велика, чтобы диск (swap) был в основном занят - в пределах порядка максимальной пропускной способности ввода-вывода, и хотя бы один процесс ожидает ввода-вывода, связанного с перестановкой. O, чтобы завершить большую часть времени, что система находится в этом состоянии. Другие ответы предполагают, что система непорка, по крайней мере, не в классической манере; или полагаться на недопонимание того, что такое избиение. И это ложное предположение, несмотря на другие точные данные, приводит к неправильным ответам относительно того, почему подкачка страниц, даже когда SSD является единственным возможным местом для файла подкачки, лучше оставить включенным.


-3

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


2
Я не мог с тобой не согласиться. Почему бы не взглянуть на принятый ответ на вопрос, на который этот постер ссылается.
Chopper3

2
Windows создаст файл подкачки в памяти? Как это?
Марк Соул
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.