๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง ๋ช ๋ น์ด๋ฅผ ํ ๋ฒ์ ์ ๋ฆฌํ ์ค๋ฌด ๊ฐ์ด๋์ ๋๋ค. CPU 100% ์ฅ์ , ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ์ข๋น ํ๋ก์ธ์ค ๋ฑ ๋ฌธ์ ๋ฅผ ps์ top์ผ๋ก ์ง๋จ·ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค.
๋ฆฌ๋ ์ค ์๋ฒ๋ฅผ ์ด์ํ๋ค ๋ณด๋ฉด ์ด๋ ๋ ๊ฐ์๊ธฐ ์ด๋ฐ ์ํฉ์ด ์ฐพ์์ต๋๋ค.
- “CPU๊ฐ 100%์ธ๋ฐ, ์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฒ์ธ์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค.”
- “๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ณ์ ์ฌ๋ผ๊ฐ๋๋ฐ ๋ก๊ทธ๋ ์กฐ์ฉํ๋ค.”
- “ํ๋ก์ธ์ค๊ฐ ์ข๋น(Z) ์ํ๋ก ์๋ฉ ์์ฌ ์๋ค.”
- “์๋ฒ๊ฐ ๋ฉ์ถ ๊ฒ์ฒ๋ผ ๋๋ฆฐ๋ฐ, ์ด๋๋ถํฐ ๋ด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค.”
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด์ ๊ฐ๋ ฅํ ๋๊ตฌ๊ฐ ps์ top์
๋๋ค.
๋๋ง ์ ๋๋ก ์ดํดํด๋ ์ฅ์ ์์ธ์ 70%๋ ๋์ ๋ณด์ด๋ ํํ๋ก ๋๋ฌ๋ฉ๋๋ค.
์ค๋์ ์ค์ ์ด์ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ๋ฐฉ์ ๊ทธ๋๋ก,
CPU ๋ณ๋ชฉ → ๋ฉ๋ชจ๋ฆฌ ๋์ → ์ข๋น ํ๋ก์ธ์ค → ์ค๋ณต ์คํ ์คํฌ๋ฆฝํธ → ํ๋ก์ธ์ค ํธ๋ฆฌ ๋ถ์๊น์ง
๋จ๊ณ๋ณ๋ก ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
๐ ์ด ๊ธ์ ํต์ฌ ํค์๋
- ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง
- CPU 100% ์ฅ์ ๋ถ์
- ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ง๋จ
- ์ข๋น ํ๋ก์ธ์ค(Zombie) ํ์ธ
- ๋ฐ๋ชฌ/์๋น์ค ํธ๋ฆฌ ๊ตฌ์กฐ ํ์
1. ps๋ “ํ์ฌ ์ํ๋ฅผ ์ ํํ ์ฐ๋” ๋๊ตฌ

๋จผ์ ps(Process Status)์
๋๋ค.
๋ฆฌ๋
์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ถ๋ฐ์ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
๊ฐ์ฅ ๋ง์ด ์ฐ๋ ๊ธฐ๋ณธ ํํ๋ ์ด๊ฑฐ ํ๋์
๋๋ค.
ps aux
1) ps aux ์ต์ ๊ตฌ์กฐ
- a : ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋ก์ธ์ค๊น์ง ํฌํจ
- u : CPU/๋ฉ๋ชจ๋ฆฌ ๋ฑ ์ฌ์ฉ์ ์ค์ฌ ํฌ๋งท์ผ๋ก ์ถ๋ ฅ
- x : ํฐ๋ฏธ๋(TTY)์ด ์๋ ํ๋ก์ธ์ค๊น์ง ํฌํจ
์ ๋ฆฌํ๋ฉด:
ps aux = “์คํ ์ค์ธ ๊ฑฐ์ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋์ด ๋ณด๊ธฐ ์ข์ ํํ๋ก ๋ค ๋ณด์ฌ์ค”
2) ps aux ์ถ๋ ฅ ์ปฌ๋ผ ์ดํดํ๊ธฐ
์์ ์ถ๋ ฅ:
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2788 1348 ? Ss 10:00 0:01 /sbin/init
root 234 1.2 3.1 140000 25432 ? Sl 10:03 0:20 /usr/bin/python3 app.py
www 400 5.3 4.5 230000 35200 ? Rl 10:05 1:10 nginx: worker process
์ฌ๊ธฐ์ ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์์ ๊ผญ ์์์ผ ํ ํต์ฌ ์ปฌ๋ผ์ ๋ค์ 5๊ฐ์ ๋๋ค.
| ์ปฌ๋ผ | ์ค๋ช |
| PID | ํ๋ก์ธ์ค ID |
| %CPU | CPU ์ฌ์ฉ๋ฅ |
| %MEM | ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ |
| STAT | ํ๋ก์ธ์ค ์ํ(S, R, Z, T ๋ฑ) |
| COMMAND | ์ด๋ค ๋ช ๋ น์ผ๋ก ์คํ๋ ํ๋ก์ธ์ค์ธ์ง |
๋๋จธ์ง VSZ, RSS๋ ์ค์ํ์ง๋ง,
์ฒ์์๋ PID / %CPU / %MEM / STAT / COMMAND๋ง ์ ๋๋ก ์ฝ์ด๋ ์ฅ์ ๋ถ์์ 70%๋ ํด๊ฒฐ๋ฉ๋๋ค.
2. ps ์ค์ ํจํด : ์ฅ์ ํ์ฅ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋ ๋ช ๋ น
์ด์ ์์ฃผ ์ฐ๋ ps ํจํด๋ค์ ๋ณด๋ฉด์,
“์ค์ ์ฅ์ ๊ฐ ๋ฌ์ ๋ ์ด๋ป๊ฒ ์ฐ๋์ง” ๋์ ์ตํ๋ด
์๋ค.
1) ํน์ ํ๋ก์ธ์ค๋ง ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ
์: nginx ๊ด๋ จ ํ๋ก์ธ์ค ์ฐพ๊ธฐ
ps aux | grep nginx
ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด grep nginx ์๊ธฐ ์์ ๋ ๊ฐ์ด ๋น๋๋ค.
๊ทธ๋์ ๋ณดํต์ ์ด๋ ๊ฒ ํ ์ค ๋ ์ถ๊ฐํฉ๋๋ค.
ps aux | grep nginx | grep -v grep
์กฐ๊ธ ๋ ๊น๋ํ๊ฒ ํ๊ณ ์ถ๋ค๋ฉด pgrep, pidof๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
pgrep nginx # nginx์ PID๋ง ์ถ๋ ฅ
pidof nginx # nginx ํ๋ก์ธ์ค๋ค์ PID
2) CPU ์ฌ์ฉ๋ฅ TOP 10 ํ๋ก์ธ์ค ๋ณด๊ธฐ
CPU๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๋ฅผ ํ์ธํ๋ ค๋ฉด:
ps aux --sort=-%cpu | head
ํน์ ์ ๋ ฌ ํค๋ฅผ ๋ช ์์ ์ผ๋ก ์ฐ๋ ํจํด๋ ์์ฃผ ์ฌ์ฉํฉ๋๋ค.
ps aux | sort -nrk 3 | head -10
- -nrk 3 : 3๋ฒ์งธ ์ปฌ๋ผ(%CPU)์ ๊ธฐ์ค์ผ๋ก ์ซ์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
3) ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ TOP 10
๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์์ฌํ ๋:
ps aux --sort=-%mem | head
# ๋๋
ps aux | sort -nrk 4 | head -10
์ฌ๊ธฐ์ %MEM์ด ๋์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์์ฌํด๋ณด๋ฉด ๋ฉ๋๋ค.
4) ํน์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ง ๋ณด๊ธฐ
์น์๋ฒ ๊ณ์ (www, nginx ๋ฑ)๋ง ๋ณด๊ณ ์ถ์ ๋:
ps -u www
์๋น์ค ๊ณ์ ๋ณ๋ก ๋ฆฌ์์ค๋ฅผ ์ด๋ป๊ฒ ์ฐ๋์ง ํ์ธํ ๋ ์ ์ฉํฉ๋๋ค.
5) ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ํธ๋ฆฌ๋ก ๋ณด๊ธฐ (–forest)

์์คํ ๋ฐ๋ชฌ ๊ตฌ์กฐ ๋ถ์์ ํ์์ ๋๋ค.
ps -ef --forest
- ์ด๋ค ๋ฐ๋ชฌ ์๋์ ์ด๋ค ์์ปค๊ฐ ๋งค๋ฌ๋ ค ์๋์ง
- ์คํฌ๋ฆฝํธ๊ฐ ๋ช ๋จ๊ณ๋ก ์คํ๋๋์ง
- ์๊ฐ์ ์ผ๋ก ํ์ ํ๊ธฐ ์ข์ต๋๋ค.
3. top “์ค์๊ฐ ํ๋ฉด” ์ถ์ ๋
์ด์ top์
๋๋ค.
ps๊ฐ “์ ์ง๋ ์ฌ์ง”์ด๋ผ๋ฉด top์ “์ค์๊ฐ CCTV”์
๋๋ค.
top
์คํํ๋ฉด ๋๋ต ์ด๋ฐ ํ๋ฉด์ด ๋์ต๋๋ค.

1) top ์๋จ ์์ฝ ์์ญ
๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์์ ๊ผญ ๋ด์ผ ํ๋ ํญ๋ชฉ๋ค์ ๋๋ค.
- load average
- Tasks (์ด ํ๋ก์ธ์ค ์, running/sleeping/zombie)
- %Cpu(s) (us, sy, id ๋ฑ)
- Mem / Swap ์์ฝ
์ฐ์ load average๋ถํฐ ์ ํํ ์ดํดํด๋ด ์๋ค.
2) load average ํด์
load average: 0.12, 0.23, 0.45
- ์์์๋ถํฐ 1๋ถ / 5๋ถ / 15๋ถ ํ๊ท ๋ถํ
- “์ผ๋ง๋ ๋ง์ ์์ ์ด CPU๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์๋์ง”๋ฅผ ์๋ฏธ
๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ “์ฝ์ด ์”์ ๋๋ค.
- 1์ฝ์ด ์๋ฒ์์ load 1.0 = CPU ํ๋ก ์ฌ์ฉ ์ค
- 4์ฝ์ด ์๋ฒ์์ load 4.0 = ์ ์ฒด ์ฝ์ด๊ฐ ๊ฑฐ์ ๊ฝ ์ฐฌ ์ํ
๋๋ต์ ์ธ ๋๋:
- 4์ฝ์ด ์๋ฒ ๊ธฐ์ค
- load 4 ์ด๋ด → ์ ์
- 5~7 → CPU๊ฐ ๋ฐ๋น ์ง๊ธฐ ์์
- 8~10 ์ด์ → ์ง์ฐ/๋ณ๋ชฉ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์
load๊ฐ ๋์ผ๋ฉด “CPU ์ฌ์ฉ๋ฅ ์ด ๋์ ํ๋ก์ธ์ค๊ฐ ์๋์ง” ๋จผ์ ํ์ธํฉ๋๋ค.
3) CPU ์ํ(us, sy, wa ๋ฑ)
์์:
%Cpu(s): 10.3 us, 1.5 sy, 0.0 ni, 88.0 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
- us : user space์์ ์คํ๋๋ CPU ๋น์จ (์ผ๋ฐ ์ฑ/์๋น์ค)
- sy : kernel space (์์คํ ์ฝ, ๋๋ผ์ด๋ฒ ๋ฑ)
- id : idle, ๋๊ณ ์๋ ๋น์จ
- wa : I/O wait (๋์คํฌ/๋คํธ์ํฌ ๋๊ธฐ)
- si : soft interrupt
- hi : hard interrupt
์ฅ์ ๋ถ์ ํฌ์ธํธ:
- us๊ฐ ๋๋ค → ์ฑ ๋๋ ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ CPU๋ฅผ ๋ง์ด ์
- sy๊ฐ ๋๋ค → ์ปค๋/์์คํ ํธ์ถ์ด ๋ง์ ์์ (ํจํท ์ฒ๋ฆฌ, I/O ๋ฑ)
- wa๊ฐ ๋๋ค → CPU๋ ๋๊ณ ์๋๋ฐ I/O ๋๊ธฐ ๋๋ฌธ์ ๋๋ฆฐ ๊ฒฝ์ฐ (๋์คํฌ ๋ณ๋ชฉ)
4) Mem/Swap ์์ฝ ์ฝ๋ ๋ฒ
KiB Mem : 4049920 total, 223000 free, 210000 buffers, 1024000 cached
KiB Swap: 2097148 total, 10240 used, 2086908 free
- total : ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ
- free : ์์ ํ ๋๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ
- buffers, cached : ํ์ผ ์บ์, ๋ธ๋ก ๋๋ฐ์ด์ค ๋ฒํผ ๋ฑ
์ฃผ์ํ ์ :
๋ฆฌ๋
์ค๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ “๋จ๋ ๋๋ก ์บ์๋ก ์จ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์” free๋ง ๋ณด๊ณ ๋ถ์กฑํ๋ค๊ณ ํ๋จํ๋ฉด ์ ๋ฉ๋๋ค.
๋ณดํต์:
- swap ์ฌ์ฉ๋์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํ๊ณ
- cache/buffer๊ฐ ์ค๊ณ
- ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ณ์ ๋์ด๋ ๋ → ๋ฉ๋ชจ๋ฆฌ ๋์ ์์ฌ
5) top ์ค๋ฌด ๋จ์ถํค
top๋ฅผ ์ ์ฐ๋ ค๋ฉด ํค๋ณด๋ ๋จ์ถํค๋ฅผ ๋ช ๊ฐ๋ง ์ตํ๋ฉด ๋ฉ๋๋ค.
| ํค | ๊ธฐ๋ฅ ์ค๋ช |
| P | CPU ์ฌ์ฉ๋ฅ ๋์ ์ ์ ๋ ฌ |
| M | ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ๋์ ์ ์ ๋ ฌ |
| 1 | ์ฝ์ด๋ณ(CPU๋ณ) ์ฌ์ฉ๋ฅ ํ์ |
| k | ํ๋ก์ธ์ค ์ข ๋ฃ(kill) |
| q | top ์ข ๋ฃ |
| h | ๋์๋ง |
| SHIFT + > / < | ์ ๋ ฌ ๊ธฐ์ค ์ปฌ๋ผ ์ด๋ |
์ค๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋ ์กฐํฉ:
- CPU ๋ฌธ์ ๋ค → top ์คํ ํ ๋ฐ๋ก P
- ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๋ค → top ์คํ ํ ๋ฐ๋ก M
- ๋ฉํฐ์ฝ์ด ์ํฉ ํ์ธ → 1 ๋๋ฌ์ ์ฝ์ด๋ณ๋ก ๋ถ๋ฆฌํด์ ๋ณด๊ธฐ
4. ์ค์ ์ฅ์ ์ํฉ๋ณ ์ ๊ทผ๋ฒ
์ด์ ์ค์ ์ฅ์ ์ํฉ์ ๊ฐ์ ํด ๋ณด๋ฉด์,
ps์ top์ ์ด๋ป๊ฒ ์ฐ๋์ง ๋จ๊ณ๋ณ๋ก ์ ๋ฆฌํด๋ณผ๊ฒ์.
์์ 1) “์๋ฒ๊ฐ ๊ฐ์๊ธฐ ๋๋ฌด ๋๋ ค์” (CPU 100% ์ํฉ)
- ๋จผ์ top ์คํ
top
- CPU๊ฐ ๊ฝ ์ฐผ๋์ง ํ์ธ
- load average๊ฐ ์ฝ์ด ์ ๋๋น ๋๋ฌด ๋์์ง
- %Cpu(s)์์ us/sy๊ฐ ๋น์ ์์ ์ผ๋ก ๋์์ง
- top ํ๋ฉด์์ P๋ฅผ ๋๋ฌ CPU ์ฌ์ฉ๋ฅ ์ ๋ ฌ
- ์๋จ์ %CPU๊ฐ 100%์ ๊ฐ๊น๊ฑฐ๋, ์ฝ์ด ์ ์ด์์ผ๋ก ๋์ค๋ ํ๋ก์ธ์ค๋ฅผ ์ฐพ์ต๋๋ค.
- ๋ฌธ์ PID ํ๋ณด ํ, ์ธ๋ถ ์ ๋ณด ํ์ธ
ps aux | grep PID
- ํ์ ์ ์ข ๋ฃ
kill -9 PID
์ฃผ์:
๋ฌด์กฐ๊ฑด kill -9๋ถํฐ ์ฐ์ง ๋ง๊ณ ,
๊ฐ๋ฅํ๋ฉด ์๋น์ค graceful stop → ๊ทธ๋๋ ์ ๋จน์ผ๋ฉด ๊ฐ์ ์ข
๋ฃ ์์ผ๋ก ์ ๊ทผํ๋ ๊ฒ ์ข์ต๋๋ค.
์์ 2) ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด ๋ณด์ผ ๋
- top ์คํ ํ ๋ฉ๋ชจ๋ฆฌ ์์ฝ ํ์ธ
- M ํค๋ก ์ ๋ ฌํด์ %MEM ๋์ ์์ผ๋ก ํ์ธ
- ์๋จ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ps๋ก ํ ๋ฒ ๋ ํ์ธ
ps aux --sort=-%mem | head
- ํน์ ์ฑ์ด ๊ณ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จน๊ณ ์๋ค๋ฉด →
- ํด๋น ๋ฒ๊ทธ ์์ฌ
- ๋ก๊ทธ/์ต์ /์บ์ ์ค์ ํ์ธ
์์ 3) ์ข๋น ํ๋ก์ธ์ค(Zombie) ๋ง์ด ์๊ฒผ์ ๋
- ps์์ ์ํ๊ฐ Z์ธ ํ๋ก์ธ์ค ์ฐพ๊ธฐ
ps aux | awk '$8 ~ /Z/'
# ๋๋
ps aux | grep ' Z '
- ์ข๋น๋ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ wait()๋ฅผ ํธ์ถํ์ง ์์์ ์๊ธฐ๋ ๊ฒ์ด๋ฏ๋ก,
- ๋ถ๋ชจ PID๋ฅผ ์ฐพ๋ ๊ฒ ์ค์ํฉ๋๋ค.
ps -ef --forest
- ํธ๋ฆฌ ๊ตฌ์กฐ์์ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ฅผ ํ์ธ →
- ๋ถ๋ชจ๋ฅผ ์ฌ์์ํ๊ฑฐ๋
- ๋ถ๋ชจ ํ๋ก๊ทธ๋จ์ ์ฝ๋ ์์ ํ์
์ข๋น ์์ฒด๋ CPU/๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฑฐ์ ์ฐ์ง ์์ง๋ง,
๋๋์ผ๋ก ์์ด๋ฉด ๋ฆฌ์์ค ์ ํ์ ๊ฑธ๋ฆด ์ ์์ผ๋ฏ๋ก ๊ด๋ฆฌ ๋์์
๋๋ค.
์์ 4) ๋์ผ ์คํฌ๋ฆฝํธ๊ฐ ์ฌ๋ฌ ๋ฒ ์ค๋ณต ์คํ๋๋ ๊ฒฝ์ฐ
์ค์ ๋ก ์ฅ์ ์ ์๋น์๋ ์ค๋ณต ์คํ๋ shell/python ์คํฌ๋ฆฝํธ์ ๋๋ค.
- ์: ํน์ ๋ฐฑ์ ์คํฌ๋ฆฝํธ๊ฐ ๋งค๋ฒ ์์ผ ๋
ps aux | grep backup.sh | grep -v grep
- ๊ฐ์๋ฅผ ์ธ๊ณ ์ถ์ผ๋ฉด:
ps aux | grep backup.sh | grep -v grep | wc -l
- ํ์ํ๋ค๋ฉด ํ ๋ฒ์ ์ ๋ฆฌ:
pkill -f backup.sh
(์ด์ ํ๊ฒฝ์์๋ ๋ฌด์กฐ๊ฑด pkill ์ฐ๊ธฐ ์ ์ ๊ผญ ํ ๋ฒ ๋ ํ์ธํ์ธ์.)
์์ 5) ๋ฐ๋ชฌ/์๋น์ค ํธ๋ฆฌ ๊ตฌ์กฐ ํ์ธ
์๋น์ค ๊ตฌ์กฐ๋ฅผ ํ์ธํ ๋ ๊ฐ์ฅ ์ข์ ํจํด:
ps -ef --forest | grep nginx
ps -ef --forest | grep httpd
ps -ef --forest | grep mysqld
- ๋ง์คํฐ ํ๋ก์ธ์ค → ์์ปค ํ๋ก์ธ์ค
- ๋ฐ์ฒ ์คํฌ๋ฆฝํธ → ์ค์ ์คํ ๋ฐ์ด๋๋ฆฌ
์ด ํ๋ฆ์ ํ ๋ฒ ์ดํดํด๋๋ฉด,
“์ด๋๋ฅผ ์ฌ์์ํด์ผ ํ๋์ง”, “๋๊ฐ ๋๊ตฌ๋ฅผ ๋์ฐ๋์ง”๊ฐ ํ๋์ ๋ค์ด์ต๋๋ค.
5. ps / top / grep / awk ์กฐํฉ

๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ๊ฒฐ๊ตญ ํ์ดํ๋ผ์ธ์ ์กฐํฉ์ ๋๋ค.
1) CPU ์ฌ์ฉ TOP 5 (์ ์ ํจํด)
ps aux | sort -nrk 3 | head -5
- 3๋ฒ ์ปฌ๋ผ์ด %CPU
- ๊ฐ์ฅ ์์ ์๋ ํ๋ก์ธ์ค๋ถํฐ ํ์ธ
2) ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ TOP 5
ps aux | sort -nrk 4 | head -5
3) ํน์ ํ๋ก์ธ์ค๋ง top์ผ๋ก ์ค์๊ฐ ๋ณด๊ธฐ
์: nginx๋ง top์ผ๋ก ์ถ์ ํ๊ณ ์ถ๋ค๋ฉด:
top -p $(pidof nginx)
์ฌ๋ฌ PID๋ฅผ ํ ๋ฒ์ ๋ฃ์ ์๋ ์์ต๋๋ค.
top -p 1234,2345,3456
6. ์ด๋ณด์๊ฐ ์์ฃผ ํ๋ ์ค์์ ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง ํ
| ์ค์ | ์ด์ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
| ๊ทธ๋ฅ ps๋ง ์ ๋ ฅ | ๊ธฐ๋ณธ ps๋ ์ ๋ณด๊ฐ ๋๋ฌด ๋จ์ํจ | ํญ์ ps aux ๋๋ ps -ef ์ฌ์ฉ |
| grep ์๊ธฐ ์์ ์ด ๊ฒ์๋จ | grep๋ ํ๋ก์ธ์ค๋ก ๋ธ | grep -v grep, pgrep, pidof ํ์ฉ |
| load average ์ซ์๋ง ๋ณด๊ณ ๋๋ | CPU ์ฝ์ด ์๋ฅผ ๊ณ ๋ คํ์ง ์์ | “์ฝ์ด ์ × 1.0”์ ๊ธฐ์ค์ผ๋ก ํ๋จ |
| top์์ CPU ์ ๋ ฌ ๋ชปํจ | ๋จ์ถํค๋ฅผ ๋ชจ๋ฆ | top ์คํ ํ P, ๋ฉ๋ชจ๋ฆฌ๋ M |
| ์ข๋น ํ๋ก์ธ์ค๋ง ์ฃฝ์ด๋ ค ํจ | ์์ธ์ ๋ถ๋ชจ ํ๋ก์ธ์ค์ธ๋ฐ ์์๋ง ๋ด | ps -ef --forest๋ก ๋ถ๋ชจ PID๊น์ง ํ์ธ |
| ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ free๋ง ๋ณด๊ณ ํ๋จ | ์บ์/๋ฒํผ๋ฅผ ์ดํดํ์ง ๋ชปํจ | Swap ์ฌ์ฉ๋, cache/buffer ๋ณํ๋ ํจ๊ป ํ์ธ |
7. ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ด๋ค ํจ๊ณผ๋ฅผ ์ฃผ๋๊ฐ?
์ด ๊ธ์์ ๋ค๋ฃฌ ๋ด์ฉ๋ง ์ตํ๋ ๋ค์๊ณผ ๊ฐ์ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
- CPU 100% ์ฅ์ ๋ฅผ ps/top ์กฐํฉ์ผ๋ก ์ง์ ์ง๋จํ ์ ์๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋์ ์์ฌ ์ํฉ์์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฌธ์ ์ธ์ง ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
- ์ข๋น ํ๋ก์ธ์ค, ์ค๋ณต ์คํ๋ ์คํฌ๋ฆฝํธ ๋ฑ ์จ์ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์ ์๋ค.
- ๋ฐ๋ชฌ/์๋น์ค์ ํ๋ก์ธ์ค ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
- ์ฅ์ ๊ฐ ๋ฌ์ ๋ “์ด๋๋ถํฐ ๋ด์ผ ํ ์ง” ๋ฃจํด์ด ์๊ฒจ์ ๋์ ์๋๊ฐ ๋นจ๋ผ์ง๋ค.
๊ฒฐ๊ตญ, ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ตํ๋ค๋ ๊ฑด
“๋ฆฌ๋ ์ค ์์คํ ์์์ ์ค์ ๋ก ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ๋์ผ๋ก ๋ณผ ์ ์๋ ๋ฅ๋ ฅ”์ ๊ฐ๋ ๊ฒ์ ๋๋ค.
ํต์ฌ ์์ฝ
- ps๋ ์ ์ ์ธ ์ค๋ ์ท, top์ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๋๊ตฌ
- ps aux, ps -ef --forest, top + P/M/1 ์กฐํฉ์ด ์ค๋ฌด ๊ธฐ๋ณธ
- CPU ๋ฌธ์ → top + P → ps๋ก ์์ธ ํ์ธ → ํ์ ์ kill
- ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ → top + M → ps aux --sort=-%mem
- ์ข๋น/์ค๋ณต ์คํฌ๋ฆฝํธ → ps + grep/awk + ํธ๋ฆฌ ๊ตฌ์กฐ ํ์ธ
- ๋ฆฌ๋ ์ค ps top ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ตํ๋ฉด ์ฅ์ ๋์ ์๋๊ฐ ๊ทน์ ์ผ๋ก ๋นจ๋ผ์ง๋ค