Альтернатива оперативной памяти разделу подкачки или файлу подкачки на SSD

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

6
25.02.2019, 20:24
3 ответа

Я бы не сказал, что причина в стабильности, это распространенное заблуждение. Если системная оперативная память + подкачка заполнена, вы обнаружите те же симптомы, что и без подкачки:

  1. Необъяснимое, большое замедление (система на время блокирует процессы, запрашивающие расширение, возможно, кто-то освободит таран, необходимый для них)
  2. Процессы, прерванные убийцей OOM (нехватки памяти).

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

Это первая причина, по которой иметь своп полезно.


Второй вариант менее известен, но на самом деле он гораздо важнее:

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

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

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


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

Я в основном использую старое золотое правило для разделов подкачки: я использую подкачку в 2 раза больше в качестве оперативной памяти. Это сделано для того, чтобы избежать фрагментации подкачки (блоки в файле подкачки могут фрагментироваться так же, как файлы в файловой системе). В вашем случае, когда у вас огромный объем оперативной памяти, но дорогостоящий жесткий диск с нулевым временем поиска, фрагментация подкачки не является проблемой, поэтому, возможно, будет достаточно и меньшего. Я не знаю, сколько у вас SSD, может быть, в 1 или даже 0,5 раза больше вашего ОЗУ будет достаточно.


На мой взгляд, этот совет «иметь не менее 512 МБ подкачки» плох, объем используемого подкачки должен зависеть от параметров вашей системы (стоимость диска, объем ОЗУ, объем диска, время поиска на жестком диске и т. Д.). Этот 512M - не «золотое правило», это «магическое число», которое бессмысленно, если использовать его в целом.

3
27.01.2020, 20:29

Учитывая ответ @peterh, вероятно, хорошим решением будет вставить любой старый жесткий диск в машину и использовать его в качестве временного пространства, включая подкачку. Таким образом, вся оперативная память может быть доступна для системы, даже последние 0,5 ГБ. Жесткий диск ноутбука, вероятно, будет более энергоэффективным, чем 3,5-дюймовый диск.

-1
27.01.2020, 20:29

Использование жесткого диска для подкачки в системе с твердотельным накопителем — плохая идея. Он не только медленнее по скорости, но и имеет гораздо большее время доступа, гораздо более энергоемкий и, возможно, менее надежный, чем современный SSD. В настоящее время на твердотельные накопители предоставляется 5-летняя гарантия, и они могут легко прослужить 8 -10 лет, даже если вы записываете на них сотни ГБ каждый день

.

Но было бы еще лучше использовать zram, возможно, вместе с небольшим резервным разделом подкачки на SSD . Различные дистрибутивы Linux, а также ChromeOS и Android уже много лет включают zram по умолчанию. На Android нет даже обычного свопа по умолчанию. Даже Windows и macOS в настоящее время используют сжатую оперативную память, прежде чем прибегать к подкачке

Поскольку ЦП может распаковывать данные намного быстрее, чем жесткий диск, вы можете отчетливо почувствовать реакцию системы, как только система начнет подкачиваться. Разница не такая уж присущая SSD, но по результатам бенчмарка здесь zram с алгоритмом lzo по умолчанию все равно кажется быстрее. Вы можете легко перейти на алгоритм lz4 , который почти в 5 раз быстрее, чем lzo с немного более низкой степенью сжатия

.

Существует также zswap, в котором используется другой механизм,но по-прежнему хранит сжатые данные в оперативной памяти

Дополнительная литература

2
27.01.2020, 20:29

Теги

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