- Какова цель раздела подкачки?
- Как узнать, что у меня достаточно раздела подкачки? Не слишком много / мало.
Мой Ubuntu PC используется для типичных вещей:
- Интернет (электронная почта, Facebook и т. Д.)
- Некоторые фильмы
- игры редки
Мой Ubuntu PC используется для типичных вещей:
Ответы:
Раздел подкачки служит нескольким целям.
Служит резервной оперативной памятью. То есть, если ваш компьютер исчерпает ОЗУ, он будет использовать область подкачки в качестве временного источника дополнительной памяти. Точнее говоря, он будет «переставлять» неиспользуемые элементы из ОЗУ в область подкачки, чтобы оставить свободное место для приложений, которым это необходимо в данный момент. Это не идеально, так как скорость передачи данных на жесткий диск значительно ниже, чем в обычную оперативную память. На практике это означает, что гораздо медленнее извлекать информацию из области обмена.
Используется, когда компьютер спит. Гибернация включает в себя получение образа ОЗУ в его текущем состоянии (подобно тому, как ISO представляет образ) и сохранение его в области подкачки. Затем он перезагружает это изображение при перезагрузке компьютера.
Чтобы быть наиболее полезным, область подкачки должна быть как минимум (RAM * 1.5), хотя рекомендуется больше. Например, в моей системе с 3 ГБ ОЗУ область подкачки составляет 7,2 ГБ.
Это очень похоже на вопрос о «правильном» размере для раздела подкачки. Здесь применима большая часть той же информации из моего ответа - в основном, если вы хотите перейти в спящий режим, вы, как правило, хотите, чтобы пространство подкачки было, по крайней мере, таким же большим, как и объем ОЗУ, а в остальном достаточно просто круглое число, например 1 или 2 ГБ. Поскольку подкачка намного медленнее, чем ОЗУ, если вы заполняете несколько гигабайт подкачки, ваш компьютер почти наверняка стал слишком медленным.
Также нет необходимости в разделе подкачки - файлы подкачки (доступные в основных файловых системах linux) дают ту же производительность и упрощают добавление дополнительного пространства подкачки, если вы решите, что вам не хватает.
здесь очень глубокая информация о свопе
некоторые люди говорят, что двойник вашего барана, но лично я рекомендую это:
swap = 1.5 X Total Ram
Пример :
если у вас есть 2 Гб оперативной памяти -> своп = 1,5 х 2 = 3
PD: Ubuntu Desktop использует Swap to Hibernate (ПК выключен, питание не требуется, состояния программ сохранены). Если для вас важен спящий режим, выделите больше пространства подкачки, чем переполнение ram + swap.
Команда free
может сказать вам, сколько свопа вы используете. Например на этой машине:
$ free -m
total used free buffers cached
Mem: 1947 1863 84 312 758
-/+ buffers/cache: 792 1154
Swap: 4000 3 3997
показывает, что у меня 2 ГБ (1947 м) ОЗУ и что система использовала большую часть этого объема. Однако 312m используется для буферов ввода / вывода, а оставшуюся часть (758m) система решила заполнить дисковым кешем.
Дисковый кеш интересен тем, что он использует быструю память вместо медленного диска для своего содержимого. Содержимое может быть получено с диска, но оно хранится в случае необходимости. Это также означает, что имеется 758 м памяти, которую можно восстановить в одно мгновение, если это необходимо, поскольку система знает, что вместо этого может найти эти данные на диске.
Вот почему есть вторая строка, показывающая, что если бы не было буферизации и кеша, у меня была бы половина моей оперативной памяти (1154 м), доступной для использования.
Третья строка показывает, что у меня слишком большой раздел подкачки (он был там и ничего не делал), из которых было использовано 3 миллиона. Это то, что ядро действительно не собирается использовать в ближайшее время, поэтому оно застряло на «заднем крыльце».
В то время как free
дает вам снимок сейчас, vmstat
может дать вам бегущую картину:
$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 3588 86236 316524 769132 0 0 14 13 126 81 4 1 95 0
0 0 3588 83872 316532 770512 0 0 0 20 264 1229 3 1 96 0
Там много информации, но интересен тот факт, что нет трафика подкачки (si) или выгрузки (so). Это означает, что я не использую своп в течение последних 10 секунд.
Вы можете проверить используемую и доступную область обмена с помощью следующей команды:
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda10 partition 7812092 16 -1
У меня ноутбук с медленным жестким диском, но относительно большим объемом оперативной памяти (8 ГБ). В этой настройке диск подкачки оказывается контрпродуктивным по следующим причинам:
Восстановление приложений из подкачки происходит медленно , сравнимо с загрузкой приложений с нуля. Я предпочел бы иметь среду, которая реагирует быстро, даже если это означает, что мне иногда приходится закрывать и перезагружать приложения, чем среду, которая иногда неожиданно останавливает меня.
Если бы мне нужна была возможность перехода в спящий режим, это означало бы запись большого количества данных на диск. Это было бы постоянным расходом заряда батареи, если бы это было сделано постоянно (стандартное поведение подкачки 60), или если это было сделано только во время гибернации (путем уменьшения подкачки), тогда для перехода в спящий режим потребовалось бы много времени. Я обнаружил, что приостановка для оперативной памяти вместо приостановки на диск вполне удовлетворительна. Он может оставаться в подвешенном состоянии в течение нескольких дней, и он будет приостановлен гораздо быстрее, чем полная спячка.
Поскольку жесткий диск работает медленно, я предпочитаю резервировать 1 ГБ ОЗУ для дискового кэша , эффективно обменивая память на скорость. Это делает мою машину быстрой, но это означает, что я могу использовать только 7 ГБ из 8 ГБ ОЗУ для приложений. Программное обеспечение, которое я использую для достижения этой цели, является форком раннего увеличения, который убивает старые вкладки браузера, когда используется 88% ОЗУ. Иногда приходится перезагружать старые вкладки браузера, которые были убиты.
Когда этот совет не применим?
Если у вас быстрый жесткий диск или твердотельный накопитель, и у вас меньше проблем с разрядкой аккумулятора, то недостатки, которые я изложил выше, не будут применяться. (Хотя у ранних твердотельных накопителей могут быть проблемы с износом, я считаю, что любые твердотельные накопители, проданные с 2018 года, должны подойти.)
Если на вашей машине очень мало оперативной памяти или вы хотите использовать несколько приложений, требующих много памяти, то вам, возможно, потребуется использовать swap, чтобы выполнить свою работу, независимо от недостатков. Это был основной сценарий использования подкачки до того, как память стала дешеветь.
Если вам действительно нужен спящий режим (возможно, вы хотите приостановить работу своего ноутбука и снова открыть его через несколько дней без подзарядки), тогда вам нужен сменный диск (рекомендуется, по крайней мере, такой же большой, как и объем ОЗУ).
Предостережение: