Объем пространства подкачки, который требуется приложению, зависит от типа действий, выполняемых в системе. При нехватке пространства подкачки возможно аварийное завершение работы процессов. Если пространство подкачки переполнится, может произойти сбой в работе системы. При уменьшении свободной области в пространстве подкачки необходимо определить дополнительную область подкачки.
Система отслеживает число свободных блоков пространства подкачки и предупреждает об их нехватке. Команда vmstat позволяет получить статистическую информацию, связанную с работой виртуальной памяти. Когда число свободных блоков становится меньше установленного порога, называемого уровнем предупреждения пространства подкачки, система информирует об этом все процессы (кроме kprocs), отправляя сигнал SIGDANGER.
Примечание: Если объем свободного пространства подкачки оказывается меньше второго установленного порога, называемого критическим уровнем пространства подкачки, система отправляет сигнал SIGKILL процессам, использующим большую часть пространства подкачки, и процессам, не обрабатывающим сигнал SIGDANGER (по умолчанию сигнал SIGDANGER игнорируется процессами). Система завершает процессы с помощью сигнала SIGKILL до тех пор, пока число свободных блоков в пространстве подкачки не выйдет из критического диапазона.
Процессы, динамически запрашивающие память, могут проверять наличие достаточного объема пространства подкачки, отслеживая значения уровней пространства подкачки с помощью функции psdanger или специальных функций выделения памяти. Процессы могут избежать принудительного завершения, определив обработчик сигнала SIGDANGER и выполнив функцию disclaim для освобождения памяти и ресурсов пространства подкачки, выделенных в областях данных и стека, а также в сегментах общей памяти.
Ниже перечислены другие функции,
позволяющие получить информацию о пространстве подкачки у VMM:
mincore | Позволяет получить информацию о выгруженных страницах памяти. |
madvise | Позволяет процессу сообщить системе о предполагаемом использовании пространства подкачки. |
swapqry | Возвращает состояние устройства подкачки. |
swapon | Запускает процесс обмена данными с указанным блочным устройством. |
Адресное пространство программы - Обзор.
Выделение памяти в системе с помощью подсистемы malloc.
Пространство подкачки - Обзор.
В разделе Virtual Memory Manager (VMM) книги AIX 5L Version 5.1 Performance Management Guide подробно описан алгоритм работы VMM (Администратора виртуальной памяти).
В разделе Memory Kernel Services книги AIX 5L Version 5.1 Kernel Extensions and Device Support Programming Concepts описаны расширения ядра, применяемые для управления памятью ядра.
Пространство подкачки - Обзор книги Руководство по управлению системой AIX 5L версии 5.1: Операционная система и устройства.
Идентификаторы _end, _etext и _edata в книге AIX 5L Version 5.1 Technical Reference: Base Operating System and Extensions Volume 1.
Команды ipcs, ipcrm, vmstat, pagesize, update в книге AIX 5L Version 5.1 Commands Reference.
Функции ftok, fsync, monitor, moncontrol и monstartup в книге AIX 5L Version 5.1 Technical Reference.