2016-01-28 9 views
-2

Я нашел в нескольких местах, что Linux использует страницы и механизм подкачки, но я не нашел нигде, где находится этот файл или как его настроить.Имеет ли Linux файл с файлами?

Вся информация, которую я нашел, касается файла/раздела подкачки Linux. Существует различие между пейджингом и обменом:

Пейджинг перемещает страницы (небольшая рамка, которая содержит кусок данных - обычно 4 КБ, но может варьироваться в зависимости от разных ОС) от основной памяти до резервного хранилища, всегда бывает как обычный функции операционной системы. Перемещение переносит весь процесс на хранение и происходит, когда система находится под напряжением памяти или на окнах 8, когда новое приложение находится в спящем режиме.

Использует ли Linux файл/раздел подкачки для обоих случаев? Если да, то как я могу увидеть, сколько страниц в настоящее время выгружено? Эта информация отсутствует в командах vmstat, free или swapon (или я не вижу их).

Или есть еще файл, используемый для подкачки? Если да, то как его настроить (и посмотреть его использование)?

Или, возможно, Linux не использует пейджинг вообще, и я вводил в заблуждение?

Я был бы признателен, если ответы будут конкретно касаться Red Hat Enterprise Linux и версий 6 и 7, но и общий ответ обо всех Linux будет хорошо.

Заранее спасибо.

+0

Возможно, эта ссылка может помочь: [Управление памятью] (http://www.tldp.org/LDP/tlk/mm/memory.html) – Gomiero

ответ

0

Хотя Linux сохраняет термин «обменный раздел» в качестве исторической реликвии, он фактически выполняет подкачку. Итак, ваше ожидание подтверждается; вы были просто брошены архаической терминологией.

1

В Linux разделы подкачки используются для подкачки.

Linux не реагирует на давление памяти, заменяя целые процессы. Система виртуальной памяти требует пейджинга, по страницам. При экстремальном давлении памяти один или несколько процессов будут убиты убийцей OOM. (Есть некоторые полезные ссылки на документацию в первом ПРИМЕЧАНИЮ в man malloc)

Существует линия в top заголовке, который показывает использование раздела подкачки, но если это вся информация, которую вы хотите использовать

swapon -s 

man swapon для получения дополнительной информации.

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

Также обратите внимание, что Linux (в отличие от Windows) не выделяет пространство подкачки для страниц при их распределении. Вместо этого он добавляет новую страницу на карту виртуальной памяти без какого-либо хранилища. и выделяет пространство подкачки, когда страница должна быть заменена. Последствие (как описано в справочной странице malloc, на которое ссылаются ранее) заключается в том, что вызов malloc может преуспеть в распределении виртуальной памяти, но последующая попытка использовать эту виртуальную память может завершиться неудачей.

+0

Спасибо, han Как я могу различать использование пейджинга и использование подкачки? –

+0

@TomerSchweid: Пробовал пояснить, что Linux не «своп» в том смысле, который предложен вашим вопросом. В Linux подкачка ссылается на подкачку по требованию, которая «свопирует» страницы в память для страниц в хранилище резервных копий. – rici

 Смежные вопросы

  • Нет связанных вопросов^_^