Назад | Перейти на главную страницу

Мне вообще нужен раздел подкачки с Linux?

У меня ноутбук с ядром 2 с оперативной памятью 4 ГБ. Я использую машину для просмотра, работы в сети и простого программирования. (Иногда я использую этот компьютер для размещения небольшого ftp- и веб-сервера.)

Будет ли какая-то польза от раздела подкачки? Насколько я понимаю, с таким большим объемом памяти не было бы необходимости в свопинге для моего посредственного использования. Фактически, ядро ​​будет вынуждено использовать мою оперативную память, что будет быстрее.

Это верно?

Нужен ли мне раздел подкачки?

Ты нуждаешься в раздел подкачки (не файл подкачки), чтобы отправить вашу рабочую станцию ​​в спящий режим.

Как заставить ядро ​​не использовать подкачку?

sysctl vm.swappiness=0

С другой стороны: как это связано с администрированием сервера?

Suspend-to-disk также требует достаточного объема подкачки для сохранения содержимого памяти (в зависимости от настроек и версии может использоваться сжатие).

Поскольку это ноутбук, вы можете использовать режим приостановки на диск.

Есть польза. Нужен ли он вам - это вопрос. Как минимум, своп дает вам страховку на случай непредвиденных обстоятельств. Ваша система будет менять местами вместо того, чтобы запускать сбой программ или их удаление из OOM.

Нет. Если по какой-то причине вы позже решите, что вам нужен своп, вы можете создать файл и указать операционной системе использовать этот файл в вашей файловой системе для пространства подкачки.

Фактически, ядро ​​будет вынуждено использовать мою оперативную память, что будет быстрее. ?

Может быть, скорее всего, нет - современные операционные системы умны (ну, вменяемо) в использовании доступной оперативной памяти - даже старые довольно хороши. На всех Linux-машинах, которые я использовал, счетчик подкачки остается равным 0 байтам до тех пор, пока он не понадобится - нет причин, по которым ОС будет использовать подкачку, если она тоже не принудительная.

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

  • Без пространства подкачки система имеет тенденцию зависать на несколько минут, OOM-убийца (нехватка памяти) срабатывает и начинает убивать процессы, пока не станет достаточно свободной памяти для работы основных битов системы.
  • При использовании swap-space приложение, которое вызвало подкачку, может немного замедлиться (хороший признак того, что оно достигает ограничений физической памяти), и ... ничего, оно просто продолжает работать ...

Представьте, что рабочий набор приложения состоит из двух частей: данных, которые оно хранит в собственном адресном пространстве, и данных, к которым он обращается из файлов. Первый должен храниться в ОЗУ или в свопе для корректности, второй может быть правильно извлечен с диска или файлового сервера, и его нужно только кэшировать в ОЗУ для повышения производительности.

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

По сути, своп дает вам защиту от взрывного потребления памяти - если какое-то ваше приложение решает выделить слишком много памяти для пользы вашей системы (потребление памяти приближается к общему объему доступной памяти), вы получите завершение работы указанного приложения. или (в лучшем случае) или завершение работы других приложений (совсем не хорошо), в любом случае в 99% случаев приложение не сможет делать то, что собиралось делать. При подкачке есть вероятность, что указанное приложение сделает все, что намеревалось, освободит память и возобновит нормальную работу. Без свопа такой возможности нет. Неужели нельзя выделить 4 Гб жесткого диска для подкачки? У нас определенно включен свопинг в наших системах, хотя у них как минимум 32 ГБ ОЗУ.

Вообще в чем проблема со свопом? Единственный «реальный» недостаток, который я вижу, это то, что вы сокращаете несколько гигабайт доступного дискового пространства, но это все, что вам нужно. Или я что-то упускаю?

У меня есть старый сервер с 4 ГБ оперативной памяти, размер свопа на нем составляет 4 ГБ, и он используется в небольшом количестве. Редко, но привыкает. Если вы не можете выделить 4 ГБ для свопа, я бы обновил жесткий диск.