2

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

Я планирую чистую переустановку и хочу попробовать что-то новое. Среди них я хочу уменьшить нагрузку записи на SSD, поместив системные каталоги с интенсивной записью в tmpfs. В частности, я хочу разместить /tmp , /var/tamp и /var/tmp/cache в оперативной памяти. Очевидно, это увеличит использование моей оперативной памяти, и в какой-то момент мне может понадобиться своп.

В прошлом я не регистрировал размеры временных каталогов и использование оперативной памяти и не хочу устанавливать инструменты ведения журналов и ждать переустановки, пока не соберу достаточное количество данных. Каковы мои лучшие варианты для выбора подходящего размера раздела подкачки? Насколько разумным будет такое предположение? Я только что оставил стрельбу в темноте или полагаюсь на излишние рекомендации типа «1.5x ваш объем оперативной памяти»?

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

2 ответа2

4

У вас есть три проблемы, когда дело доходит до места подкачки.

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

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

Наконец, при очень малом объеме подкачки ваше решение перегрузить виртуальную машину или нет может иметь радикальные последствия. Если вы не разрешите системе перегружать виртуальную машину, вы будете отказываться от операций, которые на самом деле не используют много памяти. (Представьте, если большой процесс вызывает fork . Возможно, он собирается вызвать exec , но если вы не разрешите перегрузку, ОС должна отказаться от fork если у нее недостаточно оперативной памяти и подкачки, чтобы новый процесс мог испортить каждую доступную для записи отображаемую страницу.) Если вы разрешаете системе перегружать систему, а у вас нет достаточного количества оперативной памяти и подкачки для нетипичной рабочей нагрузки, вы можете обнаружить, что процессы нерегулярно завершаются.

Лично, предполагая типичное использование, я бы выделил 2 ГБ для подкачки и убедился, что допустимо разумное чрезмерное использование.

2

Если вы не выполняете каких-либо задач с интенсивным использованием памяти, то компьютер с 6G RAM может обойтись без подкачки (предупреждение: я сумасшедший).

Монтирование /tmp (его / siblings) как tmpfs - очень хорошая практика. Для моего нетбука с 1G RAM, без подкачки, сохранил 100M /tmp tmpfs и никогда не создавал проблем (если только вы не хотите извлекать такие вещи, как кэши, которые люди обычно не хотят).

Если что-то облажается, все, что вам нужно отредактировать, это /etc /fstab.

Паранойя хороша, но у вас меньше шансов потерять данные, так как в памяти находятся только каталоги tmp/cache, реальные данные все равно записываются на диск.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .