Limites de comunicação interprocessos
Este tópico descreve os limites do sistema para os mecanismos de comunicação Interprocess (IPC).
Em alguns sistemas UNIX, o administrador do sistema pode editar o arquivo /etc/master e definir limites para os mecanismos de IPC (semáforos, segmentos de memória compartilhada e filas de mensagens). O problema com esse método é que quanto mais altos os limites, mais memória o sistema operacional usa, e o desempenho pode ser prejudicado.
AIX usa um método diferente. No AIX, os limites superiores são definidos para os mecanismos IPC, que não são configuráveis. As estruturas de dados individuais do IPC são alocadas e desalocadas conforme necessário, portanto, os requisitos de memória dependem do uso atual do sistema de mecanismos IPC.
Essa diferença de métodos às vezes confunde usuários que estão instalando ou usando bancos de dados. O limite que é o mais confuso é o número máximo de segmentos de memória compartilhada que podem ser anexados simultaneamente por processo. Para 64-bit processos, o número máximo de segmentos de memória compartilhada é de 268435456. Para processos de 32-bit bits, o número máximo de segmentos de memória compartilhada é de 11, a menos que a capacidade estendida shmat seja usada.
| Semáforos | 7.1 | 7.2 | 7.3 |
|---|---|---|---|
| Número máximo de IDs de semáforo para 64-bit kernel | 1048576 | 1048576 | 1048576 |
| Máximo de semáforos por ID de semáforo | 65535 | 65535 | 65535 |
| Máximo de operações por chamada semop | 1024 | 1024 | 1024 |
| Máximo de entradas de desfazer por processo | 1024 | 1024 | 1024 |
| Tamanho em bytes de estrutura desfazer | 8208 | 8208 | 8208 |
| Valor máximo de semáforo | 32767 | 32767 | 32767 |
| Ajuste no valor máximo de saída | 16384 | 16384 | 16384 |
| Fila de Mensagens | 7.1 | 7.2 | 7.3 |
|---|---|---|---|
| Tamanho máximo de mensagem | 4 MB | 4 MB | 4 MB |
| Máximo de bytes na fila | 4 MB | 4 MB | 4 MB-2 GB |
| Número máximo de IDs de fila de mensagens para 32-bit kernel | 131072 | 131072 | 131072 |
| Número máximo de IDs de fila de mensagens para 64-bit kernel | 1048576 | 1048576 | 1048576 |
| Mensagens máximas por ID de fila | 524288 | 524288 | 524288 |
| Memória compartilhada | 7.1 | 7.2 | 7.3 |
|---|---|---|---|
| Tamanho máximo do segmento (32-bit processo) | 2 GB | 2 GB | 2 GB |
| Tamanho máximo do segmento (processo de 64-bit) para 32-bit kernel | N/D | N/D | N/D |
| Tamanho máximo do segmento (processo de 64-bit) para 64-bit kernel | 32 TB | 32 TB | 32 TB |
| Tamanho mínimo do segmento | 1 | 1 | 1 |
| Número máximo de IDs de memória compartilhada (32-bit kernel) | 131072 | 131072 | 131072 |
| Número máximo de IDs de memória compartilhada (64-bit kernel) | 1048576 | 1048576 | 1048576 |
| Número máximo de segmentos por processo (32-bit processo) | 11 | 11 | 11 |
| Número máximo de segmentos por processo (64-bit processo) | 268435456 | 268435456 | 268435456 |
Limites de IPC no AIX® 7.3
O número máximo de bytes em uma fila de mensagens é controlado pelo parâmetro ajustável ipc_msgmnb do comando vmo .