1

Я знаю, что память будет меняться всякий раз, когда использование оперативной памяти высоко. И я прочитал, что мы должны установить своп в два раза больше объема оперативной памяти. Но почему? Как он будет переключаться с оперативной памяти на своп? Если у нас нет свопа, что будет?

2 ответа2

2

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

В основном происходит то, что операционная система будет хранить часть содержимого ОЗУ на накопителе, чтобы освободить место для памяти других приложений. То, как операционная система выбирает, что извлечь из ОЗУ, зависит от того, когда к ней последний раз обращались. Доступное пространство, которое операционная система может использовать для подкачки, называется виртуальной памятью.

Правило большого пальца состоит в том, чтобы ваш своп был в два раза больше оперативной памяти, установленной на вашем компьютере. Тем не менее, это может быть не лучшим для вас. Если у вас установлено 2 ГБ ОЗУ, размер подкачки составит 4 ГБ виртуальной памяти, что даст вам 6 ГБ памяти для работы. Хотя 6 ГБ может работать для большинства людей, этого может быть недостаточно для вас.

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

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

Сама операция может иметь дополнительное использование для пространства, а также. Например, Windows. Если происходит сбой самой Windows, она сохраняет файл crashdump в пространство, зарезервированное для подкачки. По этой причине я не рекомендую полностью избавляться от пространства подкачки, но вам следует сначала проверить, что ваша операционная система делает с этим пространством.

2

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

Другое использование пространства подкачки - сохранение снимка ОЗУ при приостановке на диске или в спящем режиме (чтобы система могла отключить питание от ОЗУ без потери данных).

Наличие двойного свопа по сравнению с ОЗУ имеет смысл, потому что, если вы купили столько оперативной памяти, это потому, что вы знаете, что она вам понадобится, так что вам лучше иметь пропорциональное пространство подкачки, потому что оно вам, вероятно, тоже понадобится. В современной системе достаточно иметь достаточно места подкачки, чтобы не мешать фоновым бездействующим сервисам, которые в противном случае могли бы забить ОЗУ, которое вы бы использовали для других более важных задач (неиспользуемая ОЗУ всегда может быть использована для кэширования диска в любом случае, что ускоряет вашу работу). система много). Некоторые системы сохраняют страницы памяти в swap для предотвращения, пока они все еще находятся в оперативной памяти, поэтому, если им нужно удалить их, чтобы освободить немного памяти, они могут сделать это намного быстрее (их можно удалить без необходимости записывать их на диск, потому что они уже есть). По этой причине (и для разрешения гибернации), вероятно, было бы неплохо иметь как минимум достаточно места подкачки в качестве объема ОЗУ, за исключением случаев, когда у вас исключительно большой объем ОЗУ и / или небольшой диск (например, SSD). диски)

Хотя память неактивных процессов может быть выгружена, это не относится к активным процессам: когда процессу требуется страница, которая была выгружена, он вызывает так называемую ошибку страницы: процесс приостанавливается, диспетчер памяти возвращает страницу обратно в оперативную память, затем процесс возобновляется и может читать / записывать необходимую память. Это означает, что если ваш рабочий набор (т. Е. Данные, к которым в данный момент часто обращаются неиспользуемые приложения) больше, чем доступная оперативная память, вам нужно будет обмениваться страницами почти при каждом чтении или записи памяти, делая Система настолько медленная, что становится непригодной для использования (это называется трэшингом). Таким образом, пространство подкачки не может фактически заменить оперативную память, которую вы фактически используете, только ту, что выделены вашими процессами, но они на самом деле не используют.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .