Имеет ли значение размер области подкачки в системе Linux

1791
mining

Имеет ли значение, что объем области подкачки в Linux был установлен слишком маленьким (скажем, 1 ГБ), а основной объем ОЗУ равен 128Gb?

Должны ли мы всегда устанавливать размер области подкачки, равный удвоенному объему оперативной памяти?

ОБНОВЛЕНО:

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

Информация

Это MEMTOTобщий объем оперативной памяти этой машины, SWAPTOобщий объем области AP SW этой машины и SWAPUSиспользованный объем области SWAP. Как показано на рисунке, использование SWAP действительно мало.

При попытке решить эти проблемы, опубликованные в разделе «Здесь», мы не уверены, что размер области SWAP слишком мал, что просто 1Gbотносительно 128Gb, как показано на рисунке. Таким образом, у меня есть этот вопрос. Извините, я не опубликовал всю исходную информацию в оригинальной версии этого поста. До этого мы также думали, что, если объем ОЗУ велик, мы могли бы установить количество SWAP маленьким. Мы попытались установить своп c0148быть 16Gb, проблема, кажется, нет ничего (Может быть, мы должны принять этот вывод после наблюдения их состояний в течение длительного времени).

Мы не профессионалы в системе Linux, и мы не могли объяснить, почему это произошло. Вполне вероятно, что это кластерная система, и SGE управляет ресурсами каждой машины, и ей требуется относительно большое количество SWAP, поскольку эта машина может использоваться многими заданиями, представленными многими пользователями.

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

12
Если у вас есть 128 Гб оперативной памяти, и вы начинаете обмениваться - эта система, вероятно, в любом случае выходит из-под контроля и мертва. Лично я, вероятно, запустил бы этот сервер без обмена вообще. OOMKiller должен позаботиться о любом сбегающем процессе, прежде чем из-за нехватки памяти произойдет сбой - и сбой быстрее исправить в любом случае. Ryan Gooler 9 лет назад 1
@RyanGooler Это заставит linux хранить старые данные в ОЗУ, даже если они не были доступны с момента загрузки. Navin 9 лет назад 0
Что будет - что? Несколько мегапикселей от init? Какая-то кэшированная память, которая будет отброшена, как только что-то на самом деле понадобится оперативной памяти? Если вашей машине НУЖНО поменять память на работоспособность, она перегружена и в любом случае нуждается в увеличении. Ryan Gooler 9 лет назад 1
Привет, @RyanGooler, спасибо за ответ. Я обновил пост, если удобно, пожалуйста, проверьте его. mining 9 лет назад 0
Привет @Navin, спасибо за ответ. Действительно машины работают долго с момента загрузки. Я обновил пост, если удобно, пожалуйста, проверьте его. mining 9 лет назад 0
@ Райан Гулер: Если вы занимаетесь научным моделированием, процессы, использующие 128 ГБ или более, не являются необоснованными. jamesqf 9 лет назад 1
См. [Сколько SWAP-пространства в системе с большим объемом памяти?] (Https://serverfault.com/q/5841) Martin Schröder 9 лет назад 1
@ MartinSchröder, большое спасибо! Ссылка очень полезна! mining 9 лет назад 0
@ MartinSchröder, я думаю, что ответы в http://serverfault.com/questions/5841/how-much-swap-space-on-a-high-memory-system - это именно та информация, которую я ищу. mining 9 лет назад 0
@RyanGooler Правда достаточно. Моя точка зрения заключается в том, что увеличение свопа * может * позволить программам использовать больше физической памяти. Это всего лишь несколько МБ, но это лучше, чем ничего :) Navin 9 лет назад 1

3 ответа на вопрос

19
jcbermu

The Linux kernel has a setting to control how often the swap is used, called swappiness, described at https://unix.stackexchange.com/questions/88693/why-is-swappiness-set-to-60-by-default.

A swappiness of zero means that the swap will be used only if the system runs out of memory. A swappiness of 100 forces programs to use swap instantly.

Tweak your system as you like it to behave, but having 128 GB of RAM is very unlikely that your system runs out of memory easily, so having 2 / 4 GB of swap could be enough. It's not advisable, but possible, to run a system without swap partition.

I think the rule of the swap area to be twice the amount of RAM is outdated, and is useful only on systems that are around 1 GB of RAM and are always on the edge of full RAM usage.

Хотя установка `swappiness` на 0 кажется логичной при большом объеме оперативной памяти, может быть лучше оставить его в качестве значения по умолчанию` 60`: [http://unix.stackexchange.com/a/88820/50687] ( http://unix.stackexchange.com/a/88820/50687). A.L 9 лет назад 2
Есть ли какой-нибудь график с формой перестановки от 0 до 100 на одной оси и чем-то еще на другой, чтобы продемонстрировать, как ... перестановка зависит от значения? user1306322 9 лет назад 1
Привет, @jcbermu, я обновил пост, если удобно, пожалуйста, проверьте его. mining 9 лет назад 0
5
gjcamann

I believe the 2x rule of thumb is outdated. Our workstations have 16GB ram, we typically only use around 25% of that and hardly use over 50%. So for our purposes, we don't use any swap.

Since you have to decide how much swap to create, and it's theoretical that any number you choose will not be enough at some point, then why not choose 0? Or - why not just install more RAM?

I believe this is a very personal decision based on how your computer will be used and how much RAM it has.

Привет, @gjcamnn, спасибо за ответ. Я обновил пост, если удобно, пожалуйста, проверьте его. mining 9 лет назад 0
0
ustp

Unless you are going to perform some memory consuming calculations, you don't need swap at all (but is better to have small swap partition). But having swap > ram is needed when you are going to use suspend to disk.

Привет @ustp, спасибо за ответ. Я обновил пост, если удобно, пожалуйста, проверьте его. mining 9 лет назад 0

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