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

<p>как мне решить, какой размер сделать подкачку на новой машине с linux (debian) с 2-4 гб озу? мне действительно нужно пространство подкачки?</p>

<p>есть много способов выяснить, сколько свопа используется в машине. в общих предложениях используются формулы на основе 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 гб).</p><p>еще одна вещь, чтобы рассмотреть, для чего будет использоваться коробка. если на вашем компьютере будет запущено огромное количество одновременно работающих процессов, но значительное количество из них будет простаивать в течение определенного периода времени, тогда добавление дополнительного свопа имеет смысл. если вы собираетесь запустить небольшое количество критических процессов, тогда имеет смысл добавить дополнительный обмен (это может показаться нелогичным, но я объясню через минуту). если вы используете коробку в качестве рабочего стола, тогда имеет смысл добавить дополнительный своп.</p><p>что касается того, следует ли включать своп, да, вы должны. вы всегда должны включать пространство подкачки, если вы <strong>действительно</strong> не знаете, что делаете, и у вас действительно есть для этого веские причины.</p><p>видите, как работает ядро linux, подкачка используется не только тогда, когда вы исчерпали всю физическую память. ядро linux будет принимать приложения, которые не активны (спят), и через некоторое время перемещает приложение для замены из реальной памяти. в результате, когда вам понадобится это приложение, будет кратковременная задержка (обычно всего одна или две секунды), когда память приложения будет считана обратно из раздела подкачки в озу. и это обычно хорошо.</p><p>это позволяет переводить неактивные приложения в "спящий" режим, предоставляя активным приложениям доступ к дополнительной оперативной памяти. кроме того, linux будет использовать любой доступный (нераспределенный) ram) на компьютере в качестве дискового кеша, делая большую (медленную) активность диска более быстрой и более отзывчивой. замена неактивных процессов дает вам больше дискового кеша и делает ваша машина в целом быстрее.</p><p>наконец, давайте посмотрим правде в глаза, дисковое пространство дешево. действительно дешево. на самом деле нет веской причины не использовать (относительно) небольшой кусок пространства для обмена. если бы я работал на машине с 2 гб - 4 гб ram), я бы, вероятно, настроил пространство подкачки как минимум равное озу. если бы оно было менее 2 гб, то я все еще пошел бы с не менее 2 гб подкачки.</p><p>обновление: в качестве отличного комментария упоминается (и я забыл включить), если вы используете ноутбук или настольный компьютер, который вы, возможно, захотите перевести в режим гибернации (suspend to disk), то вы <strong>всегда</strong> хочу по крайней мере столько же, сколько у вас есть память. пространство подкачки будет использоваться для хранения содержимого ram) на компьютере, пока он "спит".</p>

<p>red hat <a href="http://docs.redhat.com/docs/en-us/red\_hat\_enterprise\_linux/6/html/storage\_administration\_guide/ch-swapspace.html#s1-swap-what-is">рекомендует</a> следующая формула для серверов с большим количеством оперативной памяти:</p><pre><code>if mem < 2gb then swap = mem*2 else swap = mem+2gb </code></pre><p>если в вашей системе имеется 1 гб оперативной памяти, объем подкачки составит 2 гб, а для 16 гб - 18 гб.</p>

<p>поздний ответ, и я думаю, что это было в значительной степени отражено в выбранном ответе, но есть некоторая хорошая и легко усваиваемая информация в ответе, предоставленном @ssapkota <a href="https://askubuntu.com/a/49138/6227">здесь</a> (скопировано/вставлено ниже).</p><p>вот очень хорошая рекомендация от redhat: <a href="http://docs.redhat.com/docs/en-us/red\_hat\_enterprise\_linux/6/html/installation\_guide/s2-diskpartrecommend-ppc.html#id4394007">рекомендуемое пространство подкачки системы</a> </p><p>выдержка из той же ссылки:</p><blockquote> <p>в прошлые годы рекомендуемый объем пространства подкачки линейно увеличивался с объемом ram в системе. но поскольку объем памяти в современных системах увеличился до сотен гигабайт, <strong> теперь признается, что объем пространства подкачки, который необходим системе, является функцией рабочей нагрузки памяти, выполняемой в этой системе, однако, учитывая, что пространство подкачки обычно назначается во время установки, и что оно может быть трудно заранее определить нагрузку на память системы </strong>, мы рекомендуем определить системный обмен, используя следующую таблицу.</p> </blockquote><p>текущая таблица (по состоянию на декабрь 2012 года):</p><pre><code>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 </code></pre><p>оригинальный стол:</p><pre><code>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 </code></pre>

<p>это зависит от того, что вы делаете с этим. при соответствующей рабочей нагрузке вам на самом деле не требуется пространство подкачки, независимо от того, есть ли у вас 16 мб или 16384 мб озу; действительно, большинство встроенных устройств linux работают без каких-либо (к чему бы они поменялись?)</p><p>учитывая цены ram), вы, вероятно, не собираетесь использовать своп для активных вычислений. итак, что же осталось?</p><ol> <li>на настольных компьютерах пространство подкачки используется для приостановки на диск. это пространство подкачки должно составлять около 1 × озу, в зависимости от того, насколько хорошо сжато содержимое памяти.</li> <li>возможность удаления неактивных задач из ram, чтобы освободить место для дискового кэша</li> <li>то же самое, но чтобы активные процессы могли использовать его вместо кучи/стека</li> </ol><p>(2) и (3) сильно зависят от рабочей нагрузки. на моих рабочих столах я могу легко использовать 4 гб + (2), оставляя vims, xterms и т.д. запущенными на других рабочих столах.</p><p>на большинстве серверов, которые я запускаю, почти ничего не выгружается, и 1–2 гб подкачки (независимо от ram количества) кажется нормальным.</p>

<p>ну, это зависит от того, какие сервисы и приложения вы планируете запускать. вы можете следить за использованием памяти с помощью <strong> free -m </strong> и соответствующим образом корректировать раздел подкачки.</p><p>вот <a href="http://linux.derkeiler.com/mailing-lists/debian/2004-10/2409.html">интересная дискуссия</a> по теме. лично (и после прочтения этого обсуждения) я бы все равно оставил около 1 гб для обмена.</p>

<p>пространство подкачки может служить "заполнением", если в противном случае вам сразу же не хватит памяти.</p><p>когда процесс использует все доступные ram), а затем некоторые машины будут работать очень медленно, но вы, как правило, сможете восстановить. также будет легче увидеть, какой процесс вызывает проблему ,.</p>

<p>я не могу напрямую общаться с debian, но я знаю, что когда у вас больше 2 гб озу, исходное уравнение 2xram изменяется, обычно до 1xram. я думаю, что как только вы нажмете 16 гб ram, предложение снова снизится до .75xram.</p><p>конечно, я обнаружил, что это верно для solaris, и на самом деле это показатель, используемый для установок oracle, поэтому ymmv зависит от приложений, которые вы собираетесь там запускать.</p>

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

<p>на протяжении многих лет я следовал правилу, согласно которому для машин windows у вас столько же свопов, сколько у вас есть озу ... в novell мы настроили бы своп выше, если бы у нас было больше принтеров ... для linux правило и практика для меня составляли 1 гб поменяйте местами на каждые 2 гб ram), которые у вас есть. и вы помещаете его в переднюю часть диска, чтобы к нему доступ был быстрее.</p><ul> <li>если это шлюз почты/спама, я использую двойной своп в озу</li> <li>если это * сервер, я вообще не использую своп</li> <li> <p>если это сервер lamp, действует правило 1/2.</p> </li> <li> <p>пробег будет варьироваться в зависимости от приложения и использования графического интерфейса.</p> </li> </ul>

<p>я просто использую небольшую замену токена (обычно 256 мб, но я даже сделал 64 мб), потому что настройка системы с нулевым обменом требует специальной настройки.</p><p>дисковое пространство дешевое, но затооооооооо. как только система начинает подкачку, производительность равна нулю. и ram больше не так дорого.</p><p>поверьте мне, купите немного более медленный процессор и купите больше оперативной памяти. 2,8 ггц вместо 3,0 ггц сэкономят вам достаточно денег, чтобы купить еще 2 гб оперативной памяти, как минимум.</p>

<p>я создаю 1 гб подкачки и покупаю больше ram во второй раз, когда он используется. вам не нужен своп на современных компьютерах, ram так дешево.</p>

<p>для чего вы используете систему? лично я не использую своп. если что-то использует токен 512 мб или что-то другое, то все может быть помещено на диск, если оно постоянно, но неактивно в течение длительного времени.</p>