728x90
smem 명령어
smem은 시스템 메모리 사용에 대한 자세한 정보를 제공하는 도구입니다.
smem 설치
smem 명령어는 Linux에 기본적으로 설치되어 있지 않을 수 있으므로 필요한 경우 설치해야 합니다.
- Ubuntu 기반 시스템
sudo apt-get update
sudo apt-get install smem
- CentOS 기반 시스템
sudo yum install smem
smem 명령어의 기본 구문
smem [options]
- 옵션
- -s: 프로세스별 메모리 사용량 확인
- -w: 시스템 전체의 메모리 사용량 확인
- -t: 메모리 사용량의 추세 분석
- known fields : command process command line
- maps: total number of mappings
- name" name of process
- pid: process ID
- pss: proportional set size (including sharing)
- rss: resident set size (ignoring sharing)
- swap: amount of swap space consumed (ignoring sharing)
- user: owner of process uss unique set size
- vss: virtual set size (total virtual memory mapped)
$ smem -help
Usage: smem [options]
Options:
-h, --help show this help message and exit
-H, --no-header disable header line
-c COLUMNS, --columns=COLUMNS
columns to show
-t, --totals show totals
-a, --autosize size columns to fit terminal size
-R REALMEM, --realmem=REALMEM
amount of physical RAM
-K KERNEL, --kernel=KERNEL
path to kernel image
-m, --mappings show mappings
-u, --users show users
-w, --system show whole system
-P PROCESSFILTER, --processfilter=PROCESSFILTER
process filter regex
-M MAPFILTER, --mapfilter=MAPFILTER
map filter regex
-U USERFILTER, --userfilter=USERFILTER
user filter regex
-n, --numeric numeric output
-s SORT, --sort=SORT field to sort on
-r, --reverse reverse sort
-p, --percent show percentage
-k, --abbreviate show unit suffixes
--pie=PIE show pie graph
--bar=BAR show bar graph
-S SOURCE, --source=SOURCE
/proc data source
명령어를 실행한 결과에서 나타나는 필드에 대한 설명
$ smem
PID User Command Swap USS PSS RSS
725 root /usr/sbin/gssproxy -D 512 4 23 700
- PID (Process ID):
- 프로세스의 고유 식별자입니다.
- User:
- 프로세스를 실행한 사용자의 이름 또는 사용자 ID입니다.
- Command:
- 실행된 명령어 또는 프로세스의 경로입니다.
- Swap:
- Swap 메모리의 크기입니다. Swap 메모리는 실제 메모리가 부족할 때 사용되는 가상 메모리 영역입니다.
- USS (Unique Set Size):
- 프로세스의 고유 메모리 크기로, 공유되지 않는 메모리의 양을 나타냅니다.
- PSS (Proportional Set Size):
- 프로세스가 공유하는 메모리와 고유한 메모리의 비율에 따라 계산된 크기입니다.
- RSS (Resident Set Size):
- 프로세스가 현재 메모리에 실제로 올려져 있는 크기로, 주 메모리와 Swap을 포함한 총 메모리 양입니다.
728x90
사용 예시
- 전체 메모리 사용량 요약 정보 확인
smem -w
$ smem -w
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 4084812 3778796 306016
userspace memory 3838800 233148 3605652
free memory 4320876 4320876 0
- 전체 메모리 사용 정보 확인
smem
$ smem
PID User Command Swap USS PSS RSS
880 root /sbin/agetty -o -p -- \u -- 128 4 4 8
186799 zabbix /usr/sbin/zabbix_agentd -c 1248 12 59 1932
186780 root /usr/bin/VGAuthService 2068 12 65 2316
186770 _chrony /usr/sbin/chronyd -F 1 440 92 205 1696
186804 zabbix /usr/sbin/zabbix_agentd: ac 1112 168 288 2580
186745 root /usr/sbin/irqbalance --fore 252 216 337 3296
460380 root /usr/sbin/cron -f -P 0 280 368 2920
186803 zabbix /usr/sbin/zabbix_agentd: li 1048 288 444 2828
186802 zabbix /usr/sbin/zabbix_agentd: li 1044 296 453 2840
186800 zabbix /usr/sbin/zabbix_agentd: co 1196 352 455 1916
186801 zabbix /usr/sbin/zabbix_agentd: li 1044 300 458 2848
186767 _chrony /usr/sbin/chronyd -F 1 408 372 522 2960
- Swap 메모리 사용 정보만 표시
smem -rs swap
$ smem -rs swap
PID User Command Swap USS PSS RSS
900 root /usr/bin/python3 /usr/share 6788 1484 1537 2536
852 root /usr/bin/python3 /usr/bin/n 6644 2308 2789 6124
186768 root /usr/libexec/packagekitd 2256 1168 1675 6780
186780 root /usr/bin/VGAuthService 2068 12 65 2316
867 root /lib/systemd/systemd-logind 1324 1424 2307 5140
186795 root /usr/sbin/ModemManager 1252 1176 1657 6520
186799 zabbix /usr/sbin/zabbix_agentd -c 1248 12 59 1932
186800 zabbix /usr/sbin/zabbix_agentd: co 1196 352 455 1916
- RSS(Remote Set Size) 기준으로 정렬된 메모리 사용 정보 확인
smem -rs rss
$ smem -rs rss | grep root
186790 root /sbin/multipathd -d -s 0 23084 23512 27892
436511 root /usr/bin/python3 /usr/bin/s 0 17224 17785 27636
465903 root /usr/bin/python3 /usr/bin/s 0 14436 14760 21000
460387 root /lib/systemd/systemd-journa 0 10856 11908 17712
1 root /lib/systemd/systemd --syst 0 3204 4706 11256
457230 root sshd: mtsysman [priv] 0 752 2354 9800
460390 root sshd: /usr/sbin/sshd -D [li 0 1632 2233 8508
186775 root /usr/libexec/udisks2/udisks 1192 1536 2135 7060
186768 root /usr/libexec/packagekitd 2256 1168 1674 6780
- 각 사용자의 메모리 사용량 확인
smem -u
$ smem -u
User Count Swap USS PSS RSS
_chrony 2 848 464 725 4656
syslog 1 452 1168 1346 4584
messagebus 1 308 1112 1826 3664
zabbix 6 6692 1416 2152 14944
systemd-network 1 0 1488 2192 7712
root 25 24628 88116 101198 204652
- 컬러 옵션 사용
- --color=auto 옵션은 터미널이 색상을 지원할 경우에만 컬러를 사용하도록 설정합니다.
smem --color=auto
- 일정 간격으로 갱신하면서 메모리 사용량 모니터링
- -rt 옵션은 일정한 간격으로 결과를 갱신하여 실시간으로 시스템 상태를 모니터링합니다.
smem -rt
smem 명령어는 다양한 옵션을 제공하여 메모리 사용에 대한 상세한 정보를 제공합니다. 사용자는 필요에 따라 적절한 옵션을 선택하여 원하는 정보를 얻을 수 있습니다.
참고URL
- Ubuntu Manpage : smem 명령어
728x90
'리눅스' 카테고리의 다른 글
우분투에서 활성화된 네트워크 인터페이스를 비활성화하는 방법 (0) | 2024.01.23 |
---|---|
우분투에 python 3를 최신 버전으로 업데이트하는 방법 (0) | 2024.01.22 |
리눅스에서 Swap 메모리를 사용하는 프로세스를 확인하는 방법 (0) | 2024.01.19 |
PFX 파일을 생성하는 방법 (0) | 2024.01.18 |
OpenSSL을 사용하여 자체 서명된 SSL/TLS 인증서를 생성하는 방법 (0) | 2024.01.18 |