Top
top - display Linux processes.
VSS vs RSS
이론적으로 프로세스가 차지하는 정확한 메모리의 크기를 알 수는 없다고 한다. 다만, 프로세스에 매핑되는 page 수를 해석하는 다양한 방법이 있는데, VSS, RSS, USS, PSS 등이 그것이다.
- VSS (Virtual Set Size)
- 프로세스와 관련된 버추얼 메모리(virtual memory) 크기.
- RSS (Resident Set Size)
- 프로세스와 관련된 물리적 페이지(physical pages) 수.
- 이 녀석으로 메모리 사용량 계산하자.
USS와 PSS
VSS나 RSS보다 조금 더 의미있는 수치는 USS와 PSS인데, procrank 명령어로 구할 수 있다.
- USS(Unique Set Size) : 프로세스만의 고유한 페이지 수. 공유되지 않는 프로세스에 private한 메모리 크기이다.
- PSS(Proportional Set Size) : USS + (공유 페이지 / 공유하는 프로세스 수). 즉, 프로세스 고유 메모리 사용량 + 하나의 프로세스가 차지하는 공유 메모리 비율이다. 만약 A프로세스가 6MB 메모리를 사용하고 그 중 2MB가 그 프로세스의 고유 영역이라면, 나머지 4MB는 공유 메모리이다. 4MB의 공유메모리를 4개의 프로세스가 공유하고 있다면 PSS는 2MB + (4MB/4) = 3MB가 된다.
PSS는 공유되는 페이지를 공유 프로세스의 수로 나누어서 좀더 정확한 메모리 사용량을 파악할 수 있게 해준다. 이게 프로세스가 사용하는 실제 메모리 크기에 가장 근접한 값이라고 볼 수 있다.
Fields Management
f 를 누르면 출력되는 필드를 선택할 수 있다.
Fields Management for window 1:Def, whose current sort field is %CPU
Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!
- PID - Process Id
- USER - Effective User Name
- PR - Priority
- NI - Nice Value
- VIRT - Virtual Image (KiB)
- RES - Resident Size (KiB)
- SHR - Shared Memory (KiB)
- S - Process Status
- %CPU - CPU Usage
- %MEM - Memory Usage (RES)
- TIME+ - CPU Time, hundredths
- COMMAND - Command Name/Line
- PPID - Parent Process pid
- UID - Effective User Id
- RUID - Real User Id
- RUSER - Real User Name
- SUID - Saved User Id
- SUSER - Saved User Name
- GID - Group Id
- GROUP - Group Name
- PGRP - Process Group Id
- TTY - Controlling Tty
- TPGID - Tty Process Grp Id
- SID - Session Id
- nTH - Number of Threads
- P - Last Used Cpu (SMP)
- TIME - CPU Time
- SWAP - Swapped Size (KiB)
- CODE - Code Size (KiB)
- DATA - Data+Stack (KiB)
- nMaj - Major Page Faults
- nMin - Minor Page Faults
- nDRT - Dirty Pages Count
- WCHAN - Sleeping in Function
- Flags - Task Flags
- CGROUPS - Control Groups
- SUPGIDS - Supp Groups IDs
- SUPGRPS - Supp Groups Names
- TGID - Thread Group Id
- OOMa - OOMEM Adjustment
- OOMs - OOMEM Score current
- ENVIRON - Environment vars
- vMj - Major Faults delta
- vMn - Minor Faults delta
- USED - Res+Swap Size (KiB)
- nsIPC - IPC namespace Inode
- nsMNT - MNT namespace Inode
- nsNET - NET namespace Inode
- nsPID - PID namespace Inode
- nsUSER - USER namespace Inode
- nsUTS - UTS namespace Inode
- LXC - LXC container name
- RSan - RES Anonymous (KiB)
- RSfd - RES File-based (KiB)
- RSlk - RES Locked (KiB)
- RSsh - RES Shared (KiB)
- CGNAME - Control Group name
- NU - Last Used NUMA node
See also
- ps
- VSS
- RSS
- USS
- PSS
- htop
- ctop
- gtop
- glances
- nmon
- free
- Resource usage
- eDEX-UI
- bashtop
- LXTask - (LXDE; 가벼운 태스크 관리자]])
- Sampler - 쉘 커맨드 실행, 시각화 및 알림 도구