리눅스 서버에서 프로세스의 메모리 사용량을 확인하기 위한 방법을 알아보고, 아래 실습 내용을 통해 쉽게 사용할 수 있습니다. 커맨드 라인에서 ps와 top 명령어를 사용해서 메모리 사용량에 따라 정렬해서 확인하는 방법을 알아봅니다.
리눅스 서버에서 프로세스의 메모리 사용량을 확인하기 위한 방법을 알아보고, 아래 실습 내용을 통해 쉽게 사용할 수 있습니다. 커맨드 라인에서 ps와 top 명령어를 사용해서 메모리 사용량에 따라 정렬해서 확인하는 방법을 알아봅니다.
실습 환경
- 운영 체제(OS) : CentOS 8
- 실행 계정 : root
ps 명령어로 확인하기
전체 프로세스 메모리 사용량 간략하게 확인하기
현재 실행중인 모든 프로세스의 메모리 사용량으로 정렬 후 PID와 프로세스명를 보여줍니다.
[ps -ef --sort -rss]
[root@runit.cloud ~]# ps -ef --sort -rss UID PID PPID C STIME TTY TIME CMD root 923 820 0 14:56 ? 00:00:00 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files root 861 1 0 14:56 ? 00:00:00 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P polkitd 816 1 0 14:56 ? 00:00:00 /usr/lib/polkit-1/polkitd --no-debug root 815 1 0 14:56 ? 00:00:00 /usr/sbin/NetworkManager --no-daemon root 864 820 0 14:56 ? 00:00:00 /usr/libexec/sssd/sssd_be --domain LDAP --uid 0 --gid 0 --logger=files root 863 820 0 14:56 ? 00:00:00 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files root 820 1 0 14:56 ? 00:00:00 /usr/sbin/sssd -i --logger=files root 925 820 0 14:56 ? 00:00:00 /usr/libexec/sssd/sssd_autofs --uid 0 --gid 0 --logger=files root 924 820 0 14:56 ? 00:00:00 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files ... (이하 생략)
전체 프로세스 메모리 사용량 상위 10개 확인하기
현재 실행중인 모든 프로세스의 메모리 사용량으로 정렬 후 PID와 각종 메모리 사용률 및 프로세스를 상세하게 보여줍니다.
[ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11]
[root@runit.cloud ~]# ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11 USER PID PPID RSS SIZE VSZ %MEM %CPU TIME CMD root 923 820 38360 1332 224492 0.9 0.0 00:00:00 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files root 861 1 30892 39456 425280 0.7 0.0 00:00:00 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P polkitd 816 1 23940 54724 1625936 0.5 0.0 00:00:00 /usr/lib/polkit-1/polkitd --no-debug root 815 1 17560 26648 390148 0.4 0.0 00:00:00 /usr/sbin/NetworkManager --no-daemon root 864 820 16408 2136 240784 0.4 0.0 00:00:00 /usr/libexec/sssd/sssd_be --domain LDAP --uid 0 --gid 0 --logger=files root 863 820 14480 2096 218976 0.3 0.0 00:00:00 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files
root 820 1 14404 1608 215680 0.3 0.0 00:00:00 /usr/sbin/sssd -i --logger=files root 925 820 12116 1196 187292 0.3 0.0 00:00:00 /usr/libexec/sssd/sssd_autofs --uid 0 --gid 0 --logger=files root 924 820 12084 1396 193888 0.2 0.0 00:00:00 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
top 명령어로 메모리 사용량 확인하기
top 명령어 실행 후 단축키로 정렬해서 프로세스 메모리 사용량 확인하기
top 명령어 실행 후 화면에서 Shift + m 키 입력으로 메모리 사용량으로 정렬해서 확인 할 수 있습니다.
top 명령어 실행 후 Shift + m 키를 입력해서 메모리 사용량 순으로 정렬하기 |
top 명령어로 프로세스 메모리 사용량 실시간 확인하기
top 명령어 입력 후 grep 명령을 사용해서 특정 프로세서의 메모리 사용량을 1초마다 확인할 수 있습니다. 아래 명령을 통해 systemd 프로세스의 메모리 사용량을 확인해봅니다.
[top -d 1 | egrep "PID|systemd"]
top 명령어로 실시간 프로세스 메모리 사용량 확인하기 |
마무리
top, ps 명령어를 통해 리눅스에서 메모리 사용 프로세스를 확인하는 방법에 대해 알아보았습니다.
리눅스 서버에서 메모리 사용량을 점검 할 때, 빠른 확인을 위해 top -d 1명령을 실행 후 Shift + m옵션으로 메모리 사용 프로세스를 정렬해서 점검할 수 있습니다.
greatg
답글삭제