В этом документе описаны ограничения средств межпроцессной связи в AIX версий 3.2.5, 4.1, 4.2 и AIX 4.3.
В некоторых системах UNIX пользователи могут изменять ограничения средств IPC (семафоров, сегментов общей памяти и очередей сообщений) с помощью файла /etc/master. Недостаток этой возможности заключается в том, что чем выше ограничения средств IPC, тем больше ресурсов выделяется ядру, а это может отрицательно сказаться на производительности системы. В AIX применяется другой подход.
В AIX установлены жесткие ограничения для средств IPC, и в рамках этих ограничений выполняется динамическое выделение и освобождение индивидуальных ресурсов. Параметры IPC в AIX изменить нельзя.
Как следствие, размер ядра изменяется по мере выделения объектов IPC, и поэтому производительность если и будет снижена, то только на время жизни этих объектов.
Разница в этих подходах зачастую сбивает пользователей, работающих с базами данных. В AIX осуществляется автоматическое управление ограничениями IPC для пользователей. Проблемы могут быть вызваны только одним ограничением - максимальным количеством сегментов общей памяти на процесс. Это значение может быть равно 10, 11 или даже больше, если применяется переменная EXTSHM. Другими словами, внимание следует уделять только количеству сегментов общей памяти, которые могут быть одновременно выделены одному процессу.
Ограничения IPC устанавливаются с помощью специальных структур данных в файлах /usr/include/sys/: sem.h, msg.h и shm.h. Эти структуры называются seminfo, msginfo и shminfo. В данных файлах определены только структуры, но не их содержимое.
Ниже приведен список значений этих структур в AIX версий 3.2.5, 4.1, 4.2, 4.3.0 4.3.1, 4.3.2 и выше. Эти значения изменять нельзя.
Версии AIX 3.2.5 - 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 ------------- ------- ------ ------ ------ Семафоры: Макс. число ИД семафоров 4096 4096 4096 4096 131072 Макс. число семафоров на ИД 65535 65535 65535 65535 65535 Макс. число операций на вызов semop 1024 1024 1024 1024 1024 Макс. число записей отката на процесс 1024 1024 1024 1024 1024 Размер структуры отката в байтах 8208 8208 8208 8208 8208 Макс. значение семафора 32767 32767 32767 32767 32767 Макс. значение коррекции на выходе 16384 16384 16384 16384 16384 Очереди сообщений: Макс. размер сообщения 65535 4 Мб 4 Мб 4 Мб 4 Мб Макс. число байт в очереди 65535 4 Мб 4 Мб 4 Мб 4 Мб Макс. число ИД очередей сообщений 4096 4096 4096 4096 131072 Макс. число очередей сообщений на ИД 8192 524288 524288 524288 524288 Общая память: Макс. размер сегмента 256 Мб 256 Мб 256 Мб 2 Гб 2 Гб Мин. размер сегмента 1 1 1 1 1 Макс. число ИД общей памяти 4096 4096 4096 4096 131072 Макс. число сегментов на процесс 10 11* 11* 11* 11* |
* Различия между версиями описаны в предыдущих разделах.