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 configuramos da seguinte maneiraas seguintes configurações: [TEC.APPSERVER.MEMORY] ServerMemoryLimit=8000 GlobalMemoryLimit=24000 ServerVirtualMemoryLimit=22000 GlobalVirtualMemoryLimit=60000
E em 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 |
|---|
Internamente, o appserver monitora os limites configurados e toma ações: - se chegar a 80% do limite, o servidor começa a emitir mensagens de alerta (console.log);
- quando chega a 90% do limite, o serviço passa a recusar novas conexões e novos jobs;
- se chegar a 95% do limite, o consumo é considerado crítico e a operação poderia considerar fechar algumas das tarefas abertas.
|
|