메모리 부족으로 인해 서버가 몇 차례 충돌했습니다. 각 프로세스에 사용 가능한 용량이 얼마나 되는지 어떻게 알 수 있습니까?

메모리 부족으로 인해 서버가 몇 차례 충돌했습니다. 각 프로세스에 사용 가능한 용량이 얼마나 되는지 어떻게 알 수 있습니까?

다음과 같은 오류가 많아 트래픽이 크게 급증했습니다.

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

보시다시피 단일 프로세스가 아니라 apache2와 mysqld가 모두 있으므로 서버의 RAM을 늘렸습니다. 이러한 프로세스에서 이것이 사용 가능한지 어떻게 확인할 수 있습니까?

답변1

당신은 [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

또는 [htop] 명령,

htop 결과

원천:바이너리조수

답변2

시스템의 메모리 사용에 대한 개요를 보려면 명령을 사용하십시오 free. 메모리 계산의 경우프로세스당, 참조.각 프로세스의 메모리 사용량을 어떻게 표시합니까?.

관련 정보