Нужно ли мне менять SSD для увеличения срока службы SSD?

Я хотел бы добавить рекомендации из статьи об устранении неполадок оракула .

Исключение в потоке. Эта ошибка не обязательно означает утечку памяти

Возможные причины:

  1. Простая проблема конфигурации , где указанный размер кучи недостаточен для приложения.

  2. Приложение непреднамеренно хранит ссылки на объекты , и это предотвращает сбор мусора.

  3. Чрезмерное использование финализаторов .

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

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

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

35
задан 04.05.2020, 03:13

7 ответов

Снижение swapiness до 0 означает, что ОС начнет использовать SSD для подкачки только тогда, когда больше не будет свободной оперативной памяти.

Теоретически это может увеличить срок службы SSD, потому что SSD будет страдать меньше записей. Это зависит от того, увеличивает ли он срок службы SSD:

  • Linux редко использует swap (особенно по сравнению с windows) даже при более высоких значениях перестановки, поэтому этот параметр скорее всего, не изменит поведение подкачки в системах с большим количеством оперативной памяти по сравнению с использованием оперативной памяти. Если у вас недостаточно ОЗУ, то замена может происходить довольно часто со значением по умолчанию, равным 60, в этом случае уменьшение перестановки, вероятно, окажет значительное влияние на ограничение цикла записи SSD.

  • Прочность записи SSD все еще довольно высока для простого потребительского использования, по крайней мере для твердотельных накопителей на основе MLC . Говорят, что нынешние твердотельные накопители на базе MLC могут выдержать ок. 3000-5000 циклов записи, прежде чем они изнашиваются. Расчет с лимитом 3000 означает, что твердотельный накопитель емкостью 128 ГБ с ежедневной записью 10 ГБ будет успешно работать в течение приблизительно. 38000 дней, что означает ок. 100 лет. Если у вас, конечно, SSD большего размера, он изнашивается гораздо позже. Поэтому маловероятно, что ваш SSD умрет из-за износа клеток. (Конечно, если вы используете SSD в корпоративной / серверной среде, то ежедневные записи значительно выше, но в корпоративных средах обычно используются твердотельные накопители на основе SLC .)

  • This предел цикла записи настолько высок, что производители SSD (сначала SAMSUNG) начали производить SSD на основе TLC для потребителей, которые могут выдерживать только ок. 1000 циклов записи, но дешевле. Эти компании говорят, что даже ограничение цикла записи этих SSD будет длиться дольше, чем ожидается, что продукт будет использоваться. (Маловероятно, что в 2024 году мы все еще будем использовать наши твердотельные накопители емкостью 128 ГБ.) Если у вас есть твердотельный накопитель на основе TLC и вы часто пишете на этот диск, например, 50 ГБ / день, то уменьшение значения подкачки, вероятно, окажет значительный эффект. на срок службы вашего SSD.
  • Вот гигантский поток , где энтузиасты проверяли выносливость SSD, постоянно пиши им. Хотя их метод испытаний, вероятно, не совсем корректен, их результаты довольно впечатляющие и успокаивающие.

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

У меня SSD на 128 МБ, основанный на MLC, и я в основном использую свою систему для работы в офисе / просмотра веб-страниц, и у меня достаточно ОЗУ по сравнению с использованием ОЗУ, поэтому мой SSD не находится под большой нагрузкой записи (хотя мой компьютер работает на 24 / 7). Но так как мне вообще не нужна своппинг, и так просто уменьшить его, я установил для swapiness значение 0, когда я установил твердотельные накопители, потому что почему бы не сделать это? (На самом деле я установил swappiness на 0 на всех моих машинах, даже на машинах, которые имеют только жесткие диски.)

Вы можете проверить, сколько записи перенесло ваш SSD за время его жизни с smartctl, ищите строку с Total_LBAs_Written, это покажет вам, сколько 512b секторов было записано на SSD. (Да, я знаю, что твердотельные накопители физически имеют блоки 4K, а не 512b, но SMART по-прежнему говорит: Sector Size: 512 bytes logical/physical и с 512 блоками я получаю результаты, сравнимые с выходными данными записи tune2fs -l Lifetime.) Так что умножьте это число на 512 и Вы получаете записи в байтах или для краткости:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

распечатывает в ГиБ для / dev / sda. (Просто измените имя устройства на имя вашего твердотельного накопителя.) Мой 128 ГБ твердотельный накопитель перенес ок. 800 ГБ записывает чуть более одного года, что означает только 7 циклов записи, использованных из 3000.

30
ответ дан 04.05.2020, 03:13
  • 1
    Этот ответ, кажется, принимает это " swappiness" диапазоны от 0 до 100 с нулем, означающим свопинг (и 100 значений никакая RAM?). Но, другой ответ глубже проникает в детали об эти swappiness значение, указывая, что диапазоны числа от 0 до 200 и представляют относительный вес к различным типам свопинга. – Prof 04.05.2020, 03:14
  • 2
    С файловой системой можно ОБРЕЗАТЬ для сокращения усиления записи. Существует ли эквивалент для раздела ПОДКАЧКИ? – ws_e_c421 04.05.2020, 03:14

Все эти разговоры об износе твердотельных накопителей являются «догадками». У меня были те же чувства, но я начал использовать их в коммерческих целях. У меня один из самых быстрых скоплений оракулов на восточном побережье. 3 года назад мы создали SSD для всей нашей системы хранения и временных файловых систем. Мы выполняем миллиарды операций записи в день на SSD. Через 3 года мы все еще не достигли 10% выгорания. Если я смогу сделать это коммерчески, они НИКОГДА не будут изнашиваться в жилых помещениях. Итак, я реализовал решение SSD специально для подкачки на моей рабочей станции Linux и BAM !!!

Итак, ваш пробег может варьироваться, но SSD - это путь во всех отношениях.

Дэйв

7
ответ дан 04.05.2020, 03:14
  • 1
    SSD, предназначенные для серверов, могут взять больше записей, чем (более дешевые), предназначенные для потребителей. – Nathan 04.05.2020, 03:14
  • 2
    Понятый, но мне установили потребительские SSD на рабочих станциях, которые работают 24x7 развернутый по всему предприятию, и мы копируем дельты каждые несколько дней, но haven' t имел одиночный отказ за 2 года. Следует иметь в виду, что MTBF для физического диска вращения составляет 3 года и по моему опыту продажи/обслуживания систем для 25 + годы, that' s довольно точный. SSD превосходят по характеристикам все другие опции, рекламу или потребителя. – Deba Pratim Saha 04.05.2020, 03:15

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

0
ответ дан 04.05.2020, 03:14

Да . Вам нужно изменить swappiness, чтобы увеличить срок службы SSD.

Swappiness позволяет вам контролировать объем используемого файла подкачки. Значения подкачки могут быть изменены от 0 до 100. Чем выше значения подкачки, тем больше ядро ​​будет пытаться использовать пространство подкачки, чем ниже значения подкачки, тем меньше будет или не будет места подкачки, в зависимости от наших настроек.

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

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

Твердотельный накопитель относительно быстро изнашивается в результате действий записи. Особенно старшие поколения SSD были уязвимы в этом аспекте, но в меньшей степени это относится и к новым поколениям.

Вы можете создать новый раздел на новом диске или просто создать файл подкачки; создание нового раздела почти всегда приводит к гораздо лучшей производительности.

Если у вас нет альтернативного диска для перехода, вы можете изменить настройку, которая будет включать подкачку только тогда, когда ваша физическая память заполнена на 100%, что уменьшит нагрузку на ваш файл подкачки и поможет вашему SSD. Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он открывается, выполните следующую команду (команды):

echo 0 > /proc/sys/vm/swappiness

Износ SSD связан с циклами записи

Твердотельный накопитель изношен относительно быстро по написанию действий. Особенно старшие поколения SSD были уязвимы в этом аспекте, но в меньшей степени это относится и к новым поколениям.

Используйте Trim

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

Источники: Linux SSD Tweaks & amp; Инструкции по оптимизации вашего SSD

3
ответ дан 04.05.2020, 03:15
  • 1
    Последний Ubuntu только использует ОБРЕЗКУ для определенных моделей SSD' s. @PaddyLandau – TobiasR. 04.05.2020, 03:15
  • 2
    Я понимаю, что последние версии Ubuntu автоматически используют ОБРЕЗКУ для SSD. – Nathan 04.05.2020, 03:16
  • 3
    Я хотел бы знать что не так? OP, который спрашивают, если он должен изменить свой swappiness для увеличения жизни SSD и ответа, является да, он действительно должен изменить swappiness. – tiago 04.05.2020, 03:16

Я очень рекомендую вам изменить настройку подкачки на более низкое значение, лучше всего «0», если у вас достаточно памяти / оперативной памяти для вашей системы 4 ГБ оперативной памяти или больше. Несмотря на то, что в 10 с перестановкой в ​​системе с высокой оперативной памятью я едва вижу, что ubuntu что-то помещает в раздел подкачки, так как в основном все уже на оперативной памяти.

Я немного поискал в Google и нашел эту страницу http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html

может помочь вам настроить и оптимизировать SSD для более эффективной работы вашей системы Ubuntu и продлить работу ssd

0
ответ дан 04.05.2020, 03:16

Правда ли, что установка подкачки на ноль увеличит срок службы моего SSD?

Это может привести к тому, что Linux реже перемещает блоки памяти в раздел подкачки. Запись в своп обычно использует циклы записи, если ваш своп находится в SSD. Помните, что подкачка используется только при необходимости, и если у вас достаточно ОЗУ, вам может быть лучше без нее (если только вы не хотите переходить в спящий режим, но это уже другая проблема).

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

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

2
ответ дан 04.05.2020, 03:17

Мне понравилась идея проверить вывод smartctl, однако мой код немного более компактен. Я никогда не понимал, почему люди просто не знают, что awk имеет встроенную способность grep.

sudo smartctl -a /dev/sdb | awk ' ([110] ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

Хотя этот код я использую:

sudo smartctl -a ${device} | awk ' ([111] ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
0
ответ дан 04.05.2020, 03:17

Теги

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