it-swarm-ru.tech

Сколько пространства подкачки в системе 2-4 ГБ?

Как мне решить, какой размер сделать подкачку на новой машине с Linux (Debian) с 2-4 ГБ ОЗУ? Мне действительно нужно пространство подкачки?

53
C. Ross

Есть много способов выяснить, сколько свопа используется в машине. В общих предложениях используются формулы на основе RAM, такие как 2 x RAM, 1.5 x RAM, 1 x RAM, .75 x RAM и .5 x RAM. Много раз формулы менялись в зависимости от RAM (поэтому поле с 1 ГБ RAM может использовать 2 x RAM swap (2GB), а коробка с 16 ГБ оперативной памяти может использовать .5 x RAM swap (8 ГБ).

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

Что касается того, следует ли включать своп, да, вы должны. Вы всегда должны включать пространство подкачки, если вы действительно не знаете, что делаете, и у вас действительно есть для этого веские причины.

Видите, как работает ядро ​​Linux, подкачка используется не только тогда, когда вы исчерпали всю физическую память. Ядро Linux будет принимать приложения, которые не активны (спят), и через некоторое время перемещает приложение для замены из реальной памяти. В результате, когда вам понадобится это приложение, будет кратковременная задержка (обычно всего одна или две секунды), когда память приложения будет считана обратно из раздела подкачки в ОЗУ. И это обычно хорошо.

Это позволяет переводить неактивные приложения в "спящий" режим, предоставляя активным приложениям доступ к дополнительной оперативной памяти. Кроме того, Linux будет использовать любой доступный (нераспределенный) RAM) на компьютере в качестве дискового кеша, делая большую (медленную) активность диска более быстрой и более отзывчивой. Замена неактивных процессов дает вам больше дискового кеша и делает Ваша машина в целом быстрее.

Наконец, давайте посмотрим правде в глаза, дисковое пространство дешево. Действительно дешево. На самом деле нет веской причины не использовать (относительно) небольшой кусок пространства для обмена. Если бы я работал на машине с 2 ГБ - 4 ГБ RAM), я бы, вероятно, настроил пространство подкачки как минимум равное ОЗУ. Если бы оно было менее 2 ГБ, то Я все еще пошел бы с не менее 2 ГБ подкачки.

ОБНОВЛЕНИЕ: В качестве отличного комментария упоминается (и я забыл включить), если вы используете ноутбук или настольный компьютер, который вы, возможно, захотите перевести в режим гибернации (Suspend to Disk), то вы всегда хочу по крайней мере столько же, сколько у вас есть память. Пространство подкачки будет использоваться для хранения содержимого RAM) на компьютере, пока он "спит".

54
Christopher Cashell

Red Hat рекомендует следующая формула для серверов с большим количеством оперативной памяти:

if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB

Если в вашей системе имеется 1 ГБ оперативной памяти, объем подкачки составит 2 ГБ, а для 16 ГБ - 18 ГБ.

17
PEra

Поздний ответ, и я думаю, что это было в значительной степени отражено в выбранном ответе, но есть некоторая хорошая и легко усваиваемая информация в ответе, предоставленном @ssapkota здесь (скопировано/вставлено ниже).

Вот очень хорошая рекомендация от RedHat: Рекомендуемое пространство подкачки системы

Выдержка из той же ссылки:

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

Текущая таблица (по состоянию на декабрь 2012 года):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            0.5 times the amount of RAM    1.5 times the amount of RAM
64GB of RAM or more           4GB of swap space              No extra space needed

Оригинальный стол:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 
12
ubiquibacon

Это зависит от того, что вы делаете с этим. При соответствующей рабочей нагрузке вам на самом деле не требуется пространство подкачки, независимо от того, есть ли у вас 16 МБ или 16384 МБ ОЗУ; Действительно, большинство встроенных устройств Linux работают без каких-либо (к чему бы они поменялись?)

Учитывая цены RAM), вы, вероятно, не собираетесь использовать своп для активных вычислений. Итак, что же осталось?

  1. На настольных компьютерах пространство подкачки используется для приостановки на диск. Это пространство подкачки должно составлять около 1 × ОЗУ, в зависимости от того, насколько хорошо сжато содержимое памяти.
  2. Возможность удаления неактивных задач из RAM, чтобы освободить место для дискового кэша
  3. То же самое, но чтобы активные процессы могли использовать его вместо кучи/стека

(2) и (3) сильно зависят от рабочей нагрузки. На моих рабочих столах я могу легко использовать 4 ГБ + (2), оставляя vims, xterms и т.д. Запущенными на других рабочих столах.

На большинстве серверов, которые я запускаю, почти ничего не выгружается, и 1–2 ГБ подкачки (независимо от RAM количества) кажется нормальным.

8
derobert

Ну, это зависит от того, какие сервисы и приложения вы планируете запускать. Вы можете следить за использованием памяти с помощью free -m и соответствующим образом корректировать раздел подкачки.

Вот интересная дискуссия по теме. Лично (и после прочтения этого обсуждения) я бы все равно оставил около 1 ГБ для обмена.

4
Ivan

Пространство подкачки может служить "заполнением", если в противном случае вам сразу же не хватит памяти.

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

2
starblue

Я не могу напрямую общаться с Debian, но я знаю, что когда у вас больше 2 ГБ ОЗУ, исходное уравнение 2xRAM изменяется, обычно до 1xRAM. Я думаю, что как только вы нажмете 16 ГБ RAM, предложение снова снизится до .75xRAM.

Конечно, я обнаружил, что это верно для Solaris, и на самом деле это показатель, используемый для установок Oracle, поэтому YMMV зависит от приложений, которые вы собираетесь там запускать.

2
Milner

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

В наши дни место на жестком диске дешевое, поэтому я не стесняюсь отдавать пространство подкачки.

2
Martin C.

На протяжении многих лет я следовал правилу, согласно которому для машин Windows у вас столько же свопов, сколько у вас есть ОЗУ ... В Novell мы настроили бы своп выше, если бы у нас было больше принтеров ... Для Linux правило и практика для меня составляли 1 ГБ поменяйте местами на каждые 2 ГБ RAM), которые у вас есть. И вы помещаете его в переднюю часть диска, чтобы к нему доступ был быстрее.

  • Если это шлюз почты/спама, я использую двойной своп в ОЗУ
  • Если это * сервер, я вообще не использую своп
  • если это сервер LAMP, действует правило 1/2.

  • Пробег будет варьироваться в зависимости от приложения и использования графического интерфейса.

1
Thomas Denton

Я просто использую небольшую замену токена (обычно 256 МБ, но я даже сделал 64 МБ), потому что настройка системы с нулевым обменом требует специальной настройки.

Дисковое пространство дешевое, но затооооооооо. Как только система начинает подкачку, производительность равна нулю. И RAM больше не так дорого.

Поверьте мне, купите немного более медленный процессор и купите больше оперативной памяти. 2,8 ГГц вместо 3,0 ГГц сэкономят вам достаточно денег, чтобы купить еще 2 ГБ оперативной памяти, как минимум.

0
Maneesh Kasera

Я создаю 1 ГБ подкачки и покупаю больше RAM во второй раз, когда он используется. Вам не нужен своп на современных компьютерах, RAM так дешево.

0
Adam Gibbins

Для чего вы используете систему? Лично я не использую своп. Если что-то использует токен 512 МБ или что-то другое, то все может быть помещено на диск, если оно постоянно, но неактивно в течение длительного времени.

0
Mike McQuaid