A fim de entendermos um pouco melhor essa seção, vamos ilustrar uma fotografia típica de log de memória.
Para isso, vamos considerar uma máquina com os seguintes tamanhos de memória: - 32 GB de RAM
- 34 GB de SWAP
- 66 GB de Memória Virtual (RAM+SWAP)
E as seguintes configurações:
[TEC.APPSERVER.MEMORY] ServerMemoryLimit=8000 GlobalMemoryLimit=24000 ServerVirtualMemoryLimit=22000 GlobalVirtualMemoryLimit=60000
Em um dado momento, essa foi a fotografia de memória logada:
| Bloco de código |
|---|
| language | cpp |
|---|
| title | Exemplo de log |
|---|
| ----------- Memory Percentages ------------
Resident Memory Limit (srv 8000 MB / glb 24000 MB)
tot lim
r-srv [===.........|.....................................] 5% 20%
r-glb [=================================....|............] 66% 90%
Virtual Memory Limit (srv 22000 MB / glb 60000 MB)
tot lim
v-srv [==..............|.................................] 3% 10%
v-glb [=====================================........|....] 73% 82% |
| Informações |
|---|
| title | Resident Limit x Virtual Limit |
|---|
| - Resident Memory Limit vai apresentar os limites de memória RAM;
- Virtual Memory Limit expressa os limites de memória Memória Virtual.
|
| Informações |
|---|
| - a sigla srv se refere ao próprio servidor de aplicação, ou seja, o seu limite e consumo de memória;
- a sigla glb faz referência ao consumo global do sistema, incluindo todos os processos e serviços da máquina.
|
| Informações |
|---|
| - A coluna tot informa o percentual de memória consumido em relação ao total da máquina;
- A coluna lim informa o percentual de memória consumido em relação ao tamanho configurado.
|
| Informações |
|---|
| - Podemos ver que r-glb (residente global) está consumindo 66% da memória RAM disponível na máquina;
- Só que r-glb já está em 90% do limite configurado, o que começa a deixar o sistema em situação de alerta;
- Nesse momento, o servidor de aplicação está emitindo advertências e pode começar a recusar novos jobs;
- veja que a barra vertical ou pipe ("...|....") ajuda a visualizar os limites.
|
| Bloco de código |
|---|
| language | cpp |
|---|
| title | Principais mensagens de log |
|---|
| [WARN ][SERVER] Unable to StartJob - Connections Disabled.
[FATAL][SERVER] Used memory OVER SAFE LIMIT. REMOTE CONNECTIONS ARE DISABLED.
[FATAL][SERVER] Smart Heap Error (2).
THREAD ERROR Memory Allocation Failure |
|