Здесь работает Ubuntu 12.10 на 128 ГБ SSD и 4 ГБ ОЗУ. С тех пор, как я установил ОС, я понял, что мне не нужен раздел подкачки, так как я никогда не использую функцию гибернации и редко исчерпываю память. Однако принесет ли установка zRam какое-либо реальное улучшение при заполнении ОЗУ, даже если нет раздела подкачки?
Я бы предположил, есть ли у вас пространство подкачки, более или менее не имеющее отношения к полезности zRam. Независимо от того, установлен ли у вас zRam, если у вас заканчивается ОЗУ без места подкачки, плохие вещи начинают происходить. : -)
Если вы ожидаете исчерпания ОЗУ, тогда zRAM может быть полезен, потому что существенно увеличивает объем данных, которые вы можете хранить в ОЗУ (при условии, что это не чрезмерно высокая энтропия), поэтому потребуется дольше, чтобы заполнить. Так что это может выиграть у вас больше времени, если вы не храните большие массивы случайных чисел.
Если вы на 99,9% уверены, что вам не хватит оперативной памяти (т. Е. У вас есть только 16 ГБ на вашем нетбуке, работающем только в Интернете), то все, что хранится в zRAM, не требует дополнительного процессорного времени для сжатия и распаковки, так что это не очень полезно в этом случае.
Если вы находитесь на верхнем уровне спектра использования ОЗУ (например, в среднем более 50-60%), вы можете получить дополнительное спокойствие, используя zRAM. (Или вы можете купить больше оперативной памяти.)
Я полагаю, вам нужно оценить свое обычное и сильно загруженное использование оперативной памяти (среднее и максимальное) и с какими данными вы работаете.
Я сказал бы, что, если бы ядро Linux действительно работало отлично, с помощью zRam и никакая реальная подкачка, было бы, вероятно, бессмысленно, если Вы не знаете для того, что содержание RAM сожмется действительно хорошо, и Вы немного коротки на RAM.
Однако я выполняю систему с 32 гибибайтами RAM, обнуляю реальную подкачку, и я установил zram-config
, но изменил /etc/init/zram-config.conf
для использования только 5% RAM для zram (вместо значения по умолчанию 50%). Это позволяет ядру видеть некоторую подкачку, но та подкачка чрезвычайно быстрее, чем какой-либо SDD. В результате все связанные с подкачкой пути выполнения кода в ядре могут использоваться, и я думаю, что это устранило некоторые проблемы, которые я имел, когда у меня не было подкачки вообще. (А именно, мне кажется, что, когда RAM фрагментируется и система не имеет никакой подкачки, ядро не достаточно умно к обходному решению проблема. Однако с zRam или подкачкой на электронном диске, ядро может переместить страницы, чтобы подкачать и переместить во время загрузки. Это - только моя теория, все же.)
TL; DR: zRam в системе без реальной области подкачки позволяет ядру использовать все связанные с подкачкой пути выполнения кода, которые могут избежать некоторых ошибок.
Неверно, что отключение свопа плохо. Потому что, если у вас заканчивается память без подкачки, будет вызвана OOM, а некоторые задачи просто умрут, вы можете продолжить свою работу. В случае со свопом очень легко исчерпать память + из свопа, в этом случае ваша машина зависнет на дисковых операциях ввода-вывода. Скорее всего, причина в том, что у вас не хватает памяти (утечка памяти, огромные объемы памяти) - она не остановится на объеме ОЗУ, она также сожрет весь обмен, и вы все равно исчерпаете память.
Вы можете легко попробовать это с помощью простой программы, которая выделяет память в бесконечном цикле со свопом и без него.
zRAM будет использоваться только в случае необходимости, поэтому включение его не даст никакого эффекта, если оно вам не нужно. Я очень сомневаюсь, что вы даже заметите, как это работает, когда это необходимо.
Да, включение zRAM, безусловно, лучше. Почему zRAM создает блочное устройство на основе ОЗУ, которое действует как диск подкачки, но сжимается и сохраняется в памяти вместо диска подкачки, обеспечивая очень быстрый ввод-вывод и увеличивая объем памяти, доступной до того, как система начнет перезаписываться на диск.
На самом деле compcache - это оригинальное имя, и в наши дни оно изменилось на zRAM.
Вы можете установить его с sudo apt-get install zram-config