Имеет ли значение, что объем области подкачки в Linux был установлен слишком маленьким (скажем, 1 ГБ), а основной объем ОЗУ равен 128Gb
?
Должны ли мы всегда устанавливать размер области подкачки, равный удвоенному объему оперативной памяти?
ОБНОВЛЕНО:
Привет, спасибо всем за ответ на этот вопрос. На самом деле, у меня есть этот вопрос, потому что мы столкнулись с некоторыми проблемами при использовании небольшой кластерной системы. Проблемы размещены здесь . На следующем рисунке представлена некоторая информация о некоторых компьютерах в этом небольшом кластере.
Это MEMTOT
общий объем оперативной памяти этой машины, SWAPTO
общий объем области AP AP этой машины и SWAPUS
использованный объем области SWAP. Как показано на рисунке, использование SWAP действительно мало.
При попытке решить эти проблемы, опубликованные здесь , мы не уверены, установлен ли слишком маленький объем области SWAP, что 1Gb
относительно 128Gb
, как показано на рисунке. Таким образом, у меня есть этот вопрос. Извините, я не опубликовал всю исходную информацию в оригинальной версии этого поста. До этого мы также думали, что, если объем ОЗУ велик, мы могли бы установить количество SWAP маленьким. Мы попытались установить своп c0148
быть 16Gb
, проблема , кажется , нет ничего (Может быть , мы должны принять этот вывод после наблюдения их состояний в течение длительного времени).
Мы не профессионалы в системе Linux, и мы не могли объяснить, почему это произошло. Вполне вероятно, что это кластерная система, и SGE управляет ресурсами каждой машины, и ей необходимо иметь относительно большое количество SWAP, поскольку эта машина может использоваться многими заданиями, представленными многими пользователями.
Кроме того, если мы просто установим слишком большое количество SWAP, то стоит рассмотреть и другие проблемы, которые он может вызвать.
источник
Ответы:
Ядро Linux имеет настройку для контроля частоты использования свопа, которая называется
swappiness
, которая описана на /unix/88693/why-is-swappiness-set-to-60-by-default .Нулевой обмен означает, что обмен будет использоваться только в том случае, если в системе недостаточно памяти. Своппинг из 100 заставляет программы использовать своп мгновенно.
Настройте свою систему так, как вам нравится, но наличие 128 ГБ ОЗУ маловероятно, что в вашей системе будет недостаточно памяти, поэтому может потребоваться 2/4 ГБ подкачки. Не рекомендуется, но возможно запускать систему без раздела подкачки.
Я думаю, что правило области подкачки, состоящей в том, чтобы вдвое превышать объем оперативной памяти, устарело и полезно только в системах с объемом оперативной памяти около 1 ГБ и всегда на грани полного использования оперативной памяти.
источник
swappiness
0 кажется логичной для большого объема ОЗУ, может быть лучше оставить его в качестве значения по умолчанию60
: http://unix.stackexchange.com/a/88820/50687 .Я полагаю, что эмпирическое правило 2х устарело. Наши рабочие станции имеют 16 ГБ оперативной памяти, мы обычно используем только около 25% от этого и едва ли используем более 50%. Поэтому для наших целей мы не используем своп.
Так как вы должны решить, сколько свопа создать, и теоретически, что любое выбранное вами число не будет достаточно в какой-то момент, то почему бы не выбрать 0? Или - почему бы просто не установить больше оперативной памяти?
Я считаю, что это очень личное решение, основанное на том, как будет использоваться ваш компьютер и сколько у него оперативной памяти.
источник
Если вы не собираетесь выполнять какие-то вычисления, занимающие много памяти, вам вообще не нужен обмен (но лучше иметь небольшой раздел подкачки). Но наличие swap> ram необходимо, когда вы собираетесь использовать suspend to disk.
источник