O servidor travou algumas vezes por falta de memória - como posso saber quanto está disponível para cada processo?

O servidor travou algumas vezes por falta de memória - como posso saber quanto está disponível para cada processo?

Tivemos um grande aumento no tráfego com muitos destes erros:

Feb 17 10:44:13 111488 kernel: [8275767.506198] Out of memory: Kill process 20577 (apache2) score 52 or sacrifice child
Feb 17 11:02:06 111488 kernel: [8276839.559141] Out of memory: Kill process 20719 (mysqld) score 75 or sacrifice child

Como você pode ver, não é apenas um processo, mas sim o Apache2 e o mysqld, então aumentei a RAM do servidor. Como posso verificar se isso está disponível para esses processos?

Responder1

Você está procurando o comando [top]

top - 15:20:30 up  6:57,  5 users,  load average: 0.64, 0.44, 0.33
Tasks: 265 total,   1 running, 263 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.8 us,  2.4 sy,  0.0 ni, 88.9 id,  0.9 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8167848 total,  6642360 used,  1525488 free,  1026876 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free,  2138148 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                 
 2986 enlighte  20   0  584m  42m  26m S  14.3  0.5   0:44.27 yakuake                                                                                 
 1305 root      20   0  448m  68m  39m S   5.0  0.9   3:33.98 Xorg                                                                                    
 7701 enlighte  20   0  424m  17m  10m S   4.0  0.2   0:00.12 kio_thumbnail

ou comando [htop],

resultado principal

Fonte:Marés Binárias

Responder2

Para obter uma visão geral do uso de memória do seu sistema, use o comando free. Para cálculos de memóriapor processo, cf.Como posso exibir o uso de memória de cada processo.

informação relacionada