[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Ограничения IPC (средств межпроцессной связи)

В этом документе описаны ограничения средств межпроцессной связи в 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 до версии 4.2.1

AIX 4.2.1

AIX 4.3

AIX 4.3.1

AIX 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*

* Различия между версиями описаны в предыдущих разделах.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]