본문 바로가기
OS/Linux

리눅스 메모리 사용률 확인하는 법

by 짜깡이 2021. 2. 23.

zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%AA%85%EB%AA%A9%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%82%AC%EC%9A%A9%EB%A5%A0,_%EC%8B%A4%EC%A7%88%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%82%AC%EC%9A%A9%EB%A5%A0

 

리눅스 명목메모리사용률, 실질메모리사용률 - 제타위키

다음 문자열 포함...

zetawiki.com

↑이전버전 메모리사용률 확인하는 법(명목메모리, 실질메모리로 나눠짐)

 

centos7이후 버전은 실질메모리가 그대로 출력되게 바뀜

1) top

[root@linux_test ~]# top
top - 07:46:26 up  6:08,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  86 total,   1 running,  49 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1006900 total,   497756 free,    95248 used,   413896 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   766724 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
    1 root      20   0   43604   5356   3956 S  0.0  0.5   0:02.15 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
    4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:0H

top 명령어는 전반적인 시스템의 상태를 파악 가능함 (메모리, CPU, 프로세스 등)
명시된 메모리를 통해 계산해볼 수 있음

실제 사용률: (used+buff/cashe)/total , 약 50.5%

2) free

[root@linux_test ~]# free
              total            used        free         shared      buff/cache   available
Mem:        1006900     95124      497876        400         413900       766848
Swap:             0           0           0

free 명령어는 시스템의 메모리에 대한 전반적인 상태 파악 가능
실제 사용률: (used+buff/cache)/total, 약 50.5%

*available: 스왑없이 새 프로세스에 할당 가능한 메모리 예상 크기

 

3) sar

[root@linux_test ~]# sar -r 1
Linux 4.14.214-160.339.amzn2.x86_64 (linux_test)        02/23/2021      _x86_64_        (1 CPU)

07:54:28 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
07:54:29 AM    497768    509132     50.56      2088    373508    374940     37.24    192192    229332       124
07:54:30 AM    497768    509132     50.56      2088    373508    374940     37.24    192192    229332       124
07:54:31 AM    497768    509132     50.56      2088    373508    374940     37.24    192192    229332       124

sar 명령어는 시스템 정보를 모니터링 함
sar -r옵션은 메모리와 스왑공간에 대한 통계를 보여줌
실제 사용률: %memused, 약 50.56%

 

3가지 명령어가 거의 동일한 메모리사용률을 보임

 

 

 

메모리 사용량 높은 순서로 프로세스 표시

1)간단하게 출력

[root@linux_test ~]# ps -ef --sort -rss | head -5
UID        PID  PPID  C STIME TTY          TIME CMD
root      3157  2995  0 01:37 ?        00:00:00 /usr/bin/ssm-agent-worker
root      2995     1  0 01:37 ?        00:00:00 /usr/bin/amazon-ssm-agent
root      4572  3120  0 07:35 ?        00:00:00 sshd: ec2-user [priv]
root      1667     1  0 01:37 ?        00:00:00 /usr/lib/systemd/systemd-journald

 

2)세부정보 표시

[root@linux_test ~]# ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -5
USER       PID  PPID   RSS  SIZE    VSZ %MEM %CPU     TIME CMD
root      3157  2995 27324 101684 135344  2.7 0.0 00:00:00 /usr/bin/ssm-agent-worker
root      2995     1 20512 103196 127244  2.0 0.0 00:00:00 /usr/bin/amazon-ssm-agent
root      4572  3120  8728  1280 152628  0.8  0.0 00:00:00 sshd: ec2-user [priv]
root      1667     1  7740  5632  44168  0.7  0.0 00:00:00 /usr/lib/systemd/systemd-journald

ps -eo옵션을 활용해서 사용자 지정 형식으로 프로세스 사용량 확인
RSS: 실제 물리 메모리 사용량
VSZ : 프로세스의 가상메모리 크기

댓글