์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA
- webcrawling
- ํด์
- ๋ฐฑ์ค
- ์์์ฒ๋ฆฌ
- ํด์๋ฒ
- ์นํฌ๋กค๋ง
- matlab
- ํฌ๋กค๋ง
- BFS
- ์ ๋ ๋์
- OS
- selenium
- API
- ๋จ์ํ ์คํธ
- ToyProject
- ํ์ด์ฌ
- Java
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ด์์ฒด์
- ๋งคํธ๋ฉ
- Crawling
- ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ฆฌ๋
- ์ผ์ฑ๊ธฐ์ถ
- python
- ์ด์งํ์
- ์นด์นด์ค
- spring
- ์นด์นด์ค๊ธฐ์ถ
DevKim
์๋น์ค ์ฑ๋ฅ ํฅ์์ ์ํ ์๋ฒ ๋ถํ ๋ฐ ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง ๋ฐฉ๋ฒ ๋ณธ๋ฌธ
์๋น์ค ์ฑ๋ฅ ํฅ์์ ์ํ ์๋ฒ ๋ถํ ๋ฐ ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง ๋ฐฉ๋ฒ
on_doing 2021. 9. 5. 14:37- ๐ ๋๊ท๋ชจ ์๋น์ค๋ฅผ ์งํฑํ๋ ๊ธฐ์ , ์๋ฒ/์ธํ๋ผ๋ฅผ ์งํฑํ๋ ๊ธฐ์ ์ ์ฝ์ผ๋ฉฐ, ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง์ ๊ด๋ จํ์ฌ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
- ๋์ฉ๋ ๋ฐ์ดํฐ ์๋น์ค๋ฅผ ์ด์ํ๊ธฐ ์ํด์๋ ์๋ฒ ๋ถํ์ ์์ธ์ ํ์ ํ๊ณ , ์ด๋ฅผ ํด๊ฒฐํ ์ ์์ด์ผ ํฉ๋๋ค.
1. ์ฑ๋ฅ, ๋ถํ๋ ๋ฌด์์ธ๊ฐ
- ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ๋ถํ๋ถ์ฐ์ ๋ง์ ๊ฒฝ์ฐ๋ '๋์คํฌ I/O๋ฅผ ๋ถ์ฐํ๊ณ ๊ฒฝ๊ฐ์ํค๋' ์์ ์ด๋ค.
- I/O๊ฐ OS์ ์ํด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋์ง ์ดํดํด์ผํ๋ค.
- OS๋ I/O๋ฅผ ๊ฒฝ๊ฐ์ํค๊ธฐ ์ํด ์บ์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ์บ์๊ฐ ๊ฐ์ฅ ํจ์จ์ ์ผ๋ก ๋์ํ ์ ์๋๋ก, ์์คํ ์ ๊ตฌ์ฑํ๋ ๊ฒ์ด I/O ๋ถ์ฐ์ ํต์ฌ์ด๋ค.
2. ์ถ์ธกํ์ง๋ง๋ผ, ๊ณ์ธกํ๋ผ
- ๋ณ๋ชฉ์ ๊ท๋ช
ํ๊ธฐ ์ํ ์์
์ ํฌ๊ฒ ๋๋๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
1. Load Average ํ์ธ
2. CPU, I/O ์ค ๋ณ๋ชฉ ์์ธ ์กฐ์ฌ
- Load Average๊ฐ ๋์ ๊ฒฝ์ฐ, ๋ค์์ผ๋ก CPU์ I/O ์ด๋ ์ชฝ์ ์์ธ์ด ์๋์ง๋ฅผ ์กฐ์ฌํด์ผํ๋ค.
์ฐธ๊ณ ) sar, vmstat์ผ๋ก ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ผ CPU ์ฌ์ฉ๋ฅ ์ด๋ I/O ๋๊ธฐ์จ์ ์ถ์ด๋ฅผ ํ์ธํ ์ ์๋ค.
CPU ๋ถํ๊ฐ ๋์ ๊ฒฝ์ฐ:
- ์ฌ์ฉ์์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ๊ฐ ๋ณ๋ชฉ์ธ์ง, ์์คํ ์ ํ๋ก๊ทธ๋จ์ด ์์ธ์ธ์ง ํ์ธํ๋ค. top, sar๊ณผ ๊ฐ์ ๋ช ๋ น์ด ์ด์ฉ
- ps ๋ช ๋ น์ด๋ก ๋ณผ์ ์๋ ํ๋ก์ธ์ค ์ํ๋ CPU ์ฌ์ฉ์๊ฐ ๋ฑ์ ๋ณด๋ฉด์ ์์ธ์ด ๋๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๋๋ค.
- ํ๋ก์ธ์ค๋ฅผ ์ฐพ์ ํ, ๋ณด๋ค ์์ธํ๊ฒ ์กฐ์ฌํ ๊ฒฝ์ฐ๋ strace ๋ช ๋ น์ด๋ก ์ถ์ ํ๊ฑฐ๋ oprofile๋ก ํ๋กํ์ผ๋งํด์ ๋ณ๋ชฉ์ง์ ์ ์ขํ๋๊ฐ๋ค.
I/O ๋ถํ๊ฐ ๋์ ๊ฒฝ์ฐ:
- ์ผ๋ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ์
์ถ๋ ฅ์ด ๋ง์์ ๋ถํ๊ฐ ๋๊ฑฐ๋, ์ค์์ด ๋ฐ์ํด์ ๋์คํฌ ์ก์ธ์ค๊ฐ ๋ฐ์ํ๊ณ ์๋ ์ํฉ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. sar, vmstat์ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์
ํ๋ค.
ex1. ์ค์์ด ๋ฐ์ํ๊ณ ์๋ ๊ฒฝ์ฐ:
1. ํน์ ํ๋ก์ธ์ค๊ฐ ๊ทน๋จ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๊ณ ์์ง ์๋ ์ง ps๋ช ๋ น์ด๋ก ํ์ธํ ์ ์๋ค.
2. ํ๋ก๊ทธ๋จ ์ค๋ฅ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง๋์น๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํ๋ค.
3. ํ์ฌ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฆ์คํ๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฆ์คํ ์ ์๋ ๊ฒฝ์ฐ์๋ ๋ถ์ฐ์ ๊ฒํ ํ๋ค.
ex2. ์ค์์ด ๋ฐ์ํ์ง ์๊ณ , ๋์คํฌ๋ก์ ์ ์ถ๋ ฅ์ด ๋น๋ฒํ๊ฒ ๋ฐ์ํ๊ณ ์๋ ์ํฉ:
- ์บ์์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ๋ก ์๊ฐํด๋ณผ ์ ์๋ค. ํด๋น ์๋ฒ๊ฐ ์ ์ฅํ๊ณ ์๋ ๋ฐ์ดํฐ ์ฉ๋๊ณผ ์ฆ์ค ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋์ ๋น๊ตํด์ ๋ค์๊ณผ ๊ฐ์ด ๋๋ ์ ๊ฒํ ํ๋ค.
1) ๋ฉ๋ชจ๋ฆฌ ์ฆ์ค๋ก ์บ์์์ญ์ ํ๋์ํฌ ์ ์๋ ๊ฒฝ์ฐ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฆ์คํ๋ค.
2) ๋ฉ๋ชจ๋ฆฌ ์ฆ์ค๋ก ๋์ํ ์ ์๋ ๊ฒฝ์ฐ๋ ๋ฐ์ดํฐ ๋ถ์ฐ์ด๋ ์บ์์๋ฒ ๋์ ๋ฑ์ ๊ฒํ ํ๋ค. ๋ฌผ๋ก , ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํด์ I/O๋น๋๋ฅผ ์ค์ด๋๊ฒ๋ ๊ฒํ ๊ฐ๋ฅํ๋ค.
CPU Bound ํ๋ก๊ทธ๋จ: CPU ์์์ ๋ง์ด ํ์๋ก ํ๋ ํ๋ก๊ทธ๋จ
I/O Bound ํ๋ก๊ทธ๋จ: I/O ์์์ ๋ง์ด ํ์๋ก ํ๋ ํ๋ก๊ทธ๋จ
3. Load Average๋ ๋ฌด์์ธ๊ฐ
- Load Average:
running ์ํ์ (CPU ์์์ด ๋ง์ด ํ์ํ๋) ํ๋ก์ธ์ค์ ์์ uninterruptible ์ํ์ (I/O ์์์ด ๋ง์ด ํ์ํ๋) ํ๋ก์ธ์ค์ ์๋ฅผ ํฉํ ๊ฐ.
์ฆ, CPU๋ฅผ ์ฌ์ฉํ์๊ณ ํด๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค ์ ๋์คํฌ ์ ์ถ๋ ฅ์ด ๋๋ ๋ ๊น์ง ๊ธฐ๋ค๋ ค์ผ๋ง ํ๋ ํ๋ก์ธ์ค ๋๊ฐ์ง๋ก ๋ํ๋ด์ด์ง๋ ๊ฐ์ด๋ค. - Load Average๋ CPU ๊ฐฏ์์ ๋ฐ๋ผ ํด์์ ๋ฌ๋ฆฌ ํ ์ ์๋ค. ex) cpu๊ฐฏ์๋ก Load Average๊ฐ์ ๋๋์ด, CPU ์ฌ์ฉ์จ์ ์ธก์ ํ ์ ์๋ค.
- Process State Codes
4. Vmstat ๋ช ๋ น์ด๋ก ๋ถํ์ ์ ์ฒด ํ์ ํ๊ธฐ
- Load Average๋ง์ผ๋ก๋ CPU ์์
์ ๋ถํ๊ฐ ๋ง์ ์ง, I/O ์์
์ ๋ถํ๊ฐ ๋ง์ ์ง ํ์
ํ๊ธฐ ํ๋ฌ์ผ๋ก vmstat๋ช
๋ น์ด๋ก ๊ฐ๋จํ๊ฒ ํ์ธํ ์ ์๋ค.
1) ํ๋ก์ธ์ค:
r: ์คํ์๊ฐ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค ์ (CPU ๋ถํ ํ๋ก์ธ์ค ์)
b: ์ธํฐ๋ฝํธ ์๋๋ sleep ํ๋ก์ธ์ค ์ (I/O ๋ถํ ํ๋ก์ธ์ค ์)
2) ๋ฉ๋ชจ๋ฆฌ:
swpd: ๊ฐ์๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
free: ์ ํด๋ฉ๋ชจ๋ฆฌ ์
buff: ๋ฒํผ๋ฉ๋ชจ๋ฆฌ ์
cache: ์บ์๋ฉ๋ชจ๋ฆฌ ์
inact/active: ๋นํ์ฑํ/ํ์ฑํ ๋ฉ๋ชจ๋ฆฌ ์
3) ์ค์๋ฉ๋ชจ๋ฆฌ:
si/so: ๋์คํฌ→๋ฉ๋ชจ๋ฆฌ / ๋ฉ๋ชจ๋ฆฌ→๋์คํฌ ์ค์๋ (/s)
4) ์ ์ถ๋ ฅ IO:
bi / bo: ์ฅ์น์์ ๋ฐ์์ค๋ ๋ธ๋ก, ์ฅ์น๋ก ๋ณด๋ด๋ ๋ธ๋ก (blocks/s).
5) ์์คํ :
in: ์ด๋น ์ธํฐ๋ฝํธ ์
cs: ์ด๋น ๋ฌธ๋งฅ๊ตํ ์
6) CPU ์ฌ์ฉ๋ฅ (%):
us: ๋น์ปค๋ ์ฝ๋ ์๋น ์๊ฐ (์ฌ์ฉ์ ์๊ฐ)
sy: ์ปค๋ ์ฝ๋ ์๋น ์๊ฐ (์์คํ ์๊ฐ)
id: ์ ํด ์๊ฐ
wa: ์ ์ถ๋ ฅ ๋๊ธฐ ์๊ฐ
st: ๊ฐ์๋จธ์ ์ผ๋ก๋ถํฐ ๋บ์ ์๊ฐ
- r,b ๋ฅผ ํตํด CPU ๋ถํ๊ฐ ๋ง์ ์ง, I/O ๋ถํ๊ฐ ๋ง์ ์ง ํ์ ํ ์ ์๋ค.
- ํนํ vmstat์์ ์ค์ํ๊ฒ ๋ณผ ์งํ๋ bi, bo์งํ์ธ๋ฐ ์ด๋ฅผ ํตํด ์ค์ ๋ก ์ผ๋ง๋ I/O ๋ฐ์ํ๊ณ ์๋์ง ๊ทธ ์ ๋์น๋ฅผ ์์ ์๋ค. (top์ด๋ sar๊ฐ์ ๋ค๋ฅธ ๋ช ๋ น์ด๋ค I/O ๋๊ธฐ์จ๊น์ง๋ง ํ์ธ ๊ฐ๋ฅ)
5. Top ๋ช ๋ น์ด๋ก ํ๋ก์ธ์ค ์ ๋ณดํ์ธํ๊ธฐ
- top ๋ช
๋ น์ด๋ฅผ ํตํด Load Average, CPU ์ฌ์ฉ์จ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๋ฑ์ ํ์
ํ ์ ์๋ค.
- swap ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ถ๊ฐ ์์คํ ์ ์ํ์ ์ค์ํ ์ํฅ์ ๋ผ์น๋ค
- VIRT: ํด๋น ํ๋ก์ธ์ค๊ฐ ํ๋ณดํ๊ณ ์๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํฌ๊ธฐ
- RES: ํด๋น ํ๋ก์ธ์ค๊ฐ ํ๋ณดํ๊ณ ์๋ ๋ฌผ๋ฆฌ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํฌ๊ธฐ
- SHR: ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ณต์ ํ๊ณ ์๋ Shared Memory์ ์
- S: ํ๋ก์ธ์ค ์ํ
- ์ค ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ = free + buffers + cached Mem
- ์ค ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ = used - (buffers + cached Mem)
- VIRT๋ ์ค์ ๋ก๋ ํ ๋น๋์ง ์์ ๊ฐ์์ ๊ณต๊ฐ์ด๊ธฐ ๋๋ฌธ์ ํด๋น ๊ฐ์ด ํฌ๋ค๊ณ ํด๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค. ์ค์ ์ฌ์ฉํ๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ RES ์์ญ์ด๊ธฐ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ์ด ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ RES ์์ญ์ด ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฐพ์์ผ ํ๋ค.
- swap์ด ๋ฐ์ํ๊ณ ์์ ๊ฒฝ์ฐ๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ค๋ ์ฆ๊ฑฐ์ด๋ฏ๋ก, RES์ ํฌ๊ธฐ๊ฐ ๋ชน์ ํฐ ํ๋ก์ธ์ค๊ฐ ์๋ ์ง๋ฅผ ํ์ ํ๋ค.
- ์ข๋น ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ PID๊ฐ ์ ๋ฆฌ๋์ง ์๊ณ ์์ด๋ฉด ์๋ก์ด ํ๋ก์ธ์ค์ ํ ๋นํ PID๊ฐ ๋ชจ์๋ผ๊ฒ ๋๊ณ , ์ด๋ ๊ฒฐ๊ตญ ๋์ด์ PID๋ฅผ ํ ๋นํ์ง ๋ชปํ๋ PID ๊ณ ๊ฐ์ ์ผ์ผํฌ ์ ์๋ค.
1) ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ณผ์ :
1. ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ ๋ฉํฐ ํ์คํน ์์คํ ์ ๋ณดํธํ๊ธฐ ์ํด, ์ง์ ํ๋์จ์ด์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก, ์ผ๋จ ์ฒ๋ฆฌ๋ฅผ ์ค์งํ๊ณ ์ปค๋์ ๋ฉ๋ชจ๋ฅผ ํ๋ณด๋ฅผ ์๋ขฐํ๋ค.
2. ์ปค๋์ ์ด๋ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์์ญ์ ์ฃผ์๋ฅผ ๋๊ธฐ๋ ๊ฒ์ด ์๋๋ผ, ๊ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋๊ธด๋ค.
3. ํ๋ก์ธ์ค๋ ์ปค๋์์ ๋ฐํ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ค์ ์ฃผ์์ธ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์ฒ๋ฆฌ๋ฅผ ์ฌ๊ฐํ๋ค.
4. ๊ทธ ํ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ค์ ๋ก ์ฐ๊ธฐ ์์ ์ ํ๋ฉด Page fault๊ฐ ๋ฐ์ํ๋ฉฐ ๊ทธ์ ์์ผ ์ปค๋์ ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋งคํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ธ๋ฉ๋ ์์ญ์ด RES๋ก ๊ณ์ฐ๋๋ค.
- ํ ๋น๋ฐ๊ณ ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ RES ์์ญ์ผ๋ก ๊ณ์ฐ์ด ๋๊ณ , ์ด๊ฒ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ๋์ด์ ์ค ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ์๋ค๋ฉด swap์ ์ฌ์ฉํ๊ฑฐ๋ OOM์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ์ฃฝ์ด๋ ๋ฑ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณดํ๊ฒ ๋ ๊ฒ์ด๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํตํด ์ป์ ์ ์๋ ์ด์ :
1. ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ทธ ์ด์์ ์ฉ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค๋ฃฐ ์ ์์ ๊ฒ์ฒ๋ผ ํ๋ก์ธ์ค์ ๊พธ๋ฉฐ ๋ณด์ผ ์ ์๋ค.
2. ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฟ๋ฟํ ํฉ์ด์ ธ ์๋ ์์ญ์ ์ฐ์๋ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ํ๋ก์ธ์ค์๊ฒ ๋ณด์ผ ์ ์๋ค.
3. ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ๋ ์ฅ์๊ฐ ์ฌ์ฉ๋์ง ์๋ ์์ญ์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์์ญ ๋งตํ์ ํด์ ํ๋ค. ํด์ ๋ ๋ฐ์ดํฐ๋ 2์ฐจ ๊ธฐ์ต์ฅ์น(๋์คํฌ ๋ฑ)์ ์ ์ฅํด๋๊ณ ๋ค์ ํ์ํด์ง๋ฉด ์๋๋ก ๋๋ฆฐ๋ค.(swap)
2) Linux์ ํ์ด์ง ์บ์ ์๋ฆฌ
- ํ์ด์ง ์บ์: ์์ ๋ ํ์ด์ง๋ ํ๊ธฐ๋์ง ์๊ณ ๋จ๊ธด๋ค.
- ๋ฆฌ๋ ์ค๋ ํ์ด์ง ๋จ์๋ก ๋์คํฌ๋ฅผ ์บ์ฑํ๋ค.
- DB๋ ๊ณ์ ๊ตฌ๋์ํค๋ฉด, ์บ์๊ฐ ์ ์ ์ต์ ํ๋์ด๊ฐ์ผ๋ก์จ, ์ ์ ์๊ฐ์ด ์ง๋ ์๋ก I/O๋ถํ๊ฐ ๋ด๋ ค๊ฐ๋ ํน์ฑ์ ๋ณด์ธ๋ค.
- ๋ฆฌ๋ ์ค๋ ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ผ๋ฉด, ์ ๋ถ ์บ์ฑ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ์ฉํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฆฌ๋ฉด, ์บ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ฉ๋์ด ๋์ด๋๊ณ , ์บ์์ ์ฌ์ฉํ ์ ์๋ ์ฉ๋์ด ๋์ด๋๋ฉด, ๋ณด๋ค ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ ์ ์๊ณ , ๋ง์ด ์บ์ฑ๋๋ฉด ๋์คํฌ๋ฅผ ์ฝ๋ ํ์๊ฐ ์ค์ด๋ ๋ค.
ํ๋ก์ธ์ค๊ฐ ๋์คํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ด๋ ๊ณผ์ ์ ํ์ด์ง ์บ์:
1. OS๋ ์ฐ์ ๋์คํฌ๋ก๋ถํฐ 4KB ํฌ๊ธฐ์ ๋ธ๋ก์ ์ฝ์ด๋ธ๋ค.
2. ํ๋ก์ธ์ค๋ ๋์คํฌ์ ์ง์ ์ก์ธ์ค ํ ์ ์๊ธฐ ๋๋ฌธ์, ํ๋ก์ธ์ค๊ฐ ์ก์ธ์ค ํ ์ ์๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฝ์ด๋ธ ๋ธ๋ก์ ์ด๋ค.
3. ๊ทธ๋ฌ๋ฉด ํ๋ก์ธ์ค๋ ํด๋น ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์ค ํ๋ค.
4. ๋ฐ์ดํฐ ์ฝ๊ธฐ๋ฅผ ๋ง์น ํ๋ก์ธ์ค๋ '์ด๋ฒ ๋์คํฌ ์ฝ๊ธฐ๊ฐ ๋๋๊ณ ๋ฐ์ดํฐ ์ ๋ถ๋ฅผ ์ฒ๋ฆฌํ์ผ๋ฏ๋ก ๋ ์ด์ ๋ถํ์'ํ๊ฒ ๋์์ด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ์๊ณ ๋จ๊ฒจ๋๋ค.
5. ๊ทธ๋ผ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๋์คํฌ์ ์ ๊ทผํ์๋ ๋จ๊ฒจ๋์๋ ํ์ด์ง๋ฅผ ์ฌ์ฉํ ์ ์์์ผ๋ก ๋์คํฌ๋ฅผ ์ฝ์ผ๋ฌ ๊ฐํ์๊ฐ ์๊ฒ ๋๊ฒ์ด๋ค. ์ด๊ฒ์ด ํ์ด์ง ์บ์์ด๋ค.
6. Free ๋ช ๋ น์ด๋ก Swap ํ์ธํ๊ธฐ
- swap: swap ์์ญ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด์ ๋ง๋ค์ด ๋์ ์์ญ์ด๋ค
- swap ์์ญ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋๋ผ ๋์คํฌ์ ์ผ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ค์ด๋์ ๊ณต๊ฐ์ด๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ์ฌ์ฉํ๋ค๊ณ ๋ ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋นํด ์ ๊ทผ๊ณผ ์ฒ๋ฆฌ ์๋๊ฐ ํ์ ํ๊ฒ ๋จ์ด์ง๋ค. ๊ทธ๋์ swap ์์ญ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์์คํ ์ ์ฑ๋ฅ ์ ํ๊ฐ ์ผ์ด๋๋ค.
free ๋ช ๋ น์ด
total: ์ ์ฒด swap ์์ญ์ ํฌ๊ธฐ
used: ํ์ฌ ์ฌ์ฉ์ค์ธ swap ์์ญ์ ํฌ๊ธฐ
free: ํ์ฌ ๋จ์์๋ swap ์์ญ์ ํฌ๊ธฐ
- 22MB ์ ๋์ swap ์์ญ์ ์ฌ์ฉํ๊ณ ์๋ค. ์ ์ฒด ์์ญ์ ๋นํด์๋ ์ ์ ์์ด์ง๋ง swap ์์ญ์ ์ฌ์ฉํ๋ค๋ ๊ฒ ์์ฒด๊ฐ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ด๋ จํด ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค๋ ์๋ฏธ์ด๋ค. ์์ฃผ ์ ์์์ด๋ผ๋ swap ์์ญ์ ์ฐ๊ธฐ ์์ํ๋ค๋ฉด ๋ฐ๋์ ์ดํด๋ด์ผ ํ๋ค.
- swap์ ์ฌ์ฉ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง ๋๊ฐ swap์ ์ฌ์ฉํ๋๋๋ ๋งค์ฐ ์ค์ํ ํ๋จ ๊ธฐ์ค์ด ๋๋ค.
- ํน์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ์ ์ฒด swap ์์ญ์ ๋ํ ์ ๋ณด๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ /proc/< pid >/status ํ์ผ์ ํตํด์๋ ํ์ธํ ์ ์๋ค.
- ์ปค๋์์์ ๋ฉ๋ชจ๋ฆฌ ์ฌํ ๋น ๊ณผ์ ์ ๋ํ ์ดํด
- ์ปค๋์์์ ๋ฉ๋ชจ๋ฆฌ ์ฌํ ๋น์ ์ฃผ๋ก ๋๊ฐ์ง ๋ก์ง์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
1. ์ปค๋์ด ์ฌ์ฉํ๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก๋ถํฐ์ ์ฌํ ๋น:
Page Cache, Buffer Cache, inode cache, dentry cache ๋ฑ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์บ์ ์ฉ๋๋ก ์ฌ์ฉํ๋ฉด ์์คํ ์ ์ฑ๋ฅ์ด ์ ๋ฐ์ ์ผ๋ก ํฅ์๋๋ค. ์ด ๊ฒฝ์ฐ ์ ์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ ๋ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง ์ ์๋ค. ์ด๋ด๋ ๋ฉ๋ชจ๋ฆฌ ์ฌํ ๋น์ด ์ผ์ด๋๋ค. ์ปค๋์ ์บ์ ์ฉ๋๋ก ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉ ํด์ ํ๊ณ ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ๋๋ฆฐ ํ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ ์ ์๋๋ก ์ฌํ ๋นํ๋ค. ์ด๋ ์์คํ ์ด์ ์ค์ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ํ๋ ๊ณผ์ ์ด๋ค.
2. swap์ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ์ฌํ ๋น:
์บ์ ์ฉ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ ๋งํผ ํด์ ํ๊ณ ๋ ๋ ์ด์ ํ๋ก์ธ์ค์ ํ ๋นํด์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ค๋ฉด, ๋ฐ๋ก ์ด๋ swap์ ์ฌ์ฉํ๊ฒ ๋๋ค. ํด๋น ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์์๋ ํด์ ๋์์ง๋ง swap ์์ญ์ผ๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค๊ฐ ํด๋น ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฐธ์กฐํ๋ ค๊ณ ํ๋ฉด ๋ค์ swap ์์ญ์์ ๋ถ๋ฌ๋ค์ด์ผ ํ๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ swap ์์ญ์ผ๋ก ์ฐ๊ฑฐ๋ ์ฝ๋ ์์ ์ด ๋์คํฌ์์ ์ผ์ด๋๊ธฐ ๋๋ฌธ์ I/O๋ฅผ ์ผ์ผํค๊ณ ์ด ๊ณผ์ ์์ ์์คํ ์ ์ฑ๋ฅ์ด ์ ํ๋๋ค.
7. Sar ๋ช ๋ น์ด๋ก ๊ฐ์ข OS ์งํํ์ ํ๊ธฐ
- cpu ์ฌ์ฉ๋ฅ (์ค๋)
user: ์ฌ์ฉ์ ๋ชจ๋์์ CPU๊ฐ ์๋นํ ์๊ฐ์ ๋น์จ
nice: nice๋ก ์ค์ผ์ค๋ง์ ์ฐ์ ๋๋ฅผ ๋ณ๊ฒฝํ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ ๋ชจ๋์์ CPU๋ฅผ ์๋นํ ์๊ฐ์ ๋น์จ
system: ์์คํ ๋ชจ๋์์ CPU๊ฐ ์๋นํ ์๊ฐ์ ๋น์จ
iowait: CPU๊ฐ ๋์คํฌ I/O ๋๊ธฐ๋ฅผ ์ํด idle์ํ๋ก ์๋นํ ์๊ฐ์ ๋น์จ
steal: Xen๋ฑ OS์ ๊ฐ์ํ๋ฅผ ์ด์ฉํ๊ณ ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๊ฐ์ CPU์ ๊ณ์ฐ์ผ๋ก ๋๊ธฐ๋ ์๊ฐ์ ๋น์จ
idle: CPU๊ฐ ๋์คํฌ I/O ๋ฑ์ผ๋ก ๋๊ธฐ๋์ง ์๊ณ , idle์ํ๋ก ์๋นํ ์๊ฐ์ ๋น์จ
- cpu ์ฌ์ฉ๋ฅ (๋ ์ง๋ณ)sar -f /var/log/sa/sa๋ ์ง
- ์๊ฐ ์ถ์ด๋ณ Load Average ํ์ธsar - q
- ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ํํฉ ํ์ธ(์ค๋)sar -r
kbmemfree : ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ ์ฉ๋(kbytes)
kbmemused : ์ฌ์ฉ์ค์ธ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์(kbytes)
%memused : ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ
kbbuffers : ์ปค๋์์ buffer ๋ฉ๋ชจ๋ฆฌ๋ก ์ด ์ฌ์ฉ๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ (kbytes)
kbcached : ์ปค๋์์ cache data ๋ก ์ฌ์ฉ๋ ์ด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์(kbytes)
kbcommit : ํ์ฌ ์์ ์ ์ํด ํ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋(kbytes),๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ด ๋ฐ์ํ์ง ์๊ธฐ ์ํ RAM/swap ์ฌ์ฉ๋์ ์ถ์ ์น
%commit : ํ์ฌ ์์ ์ ์ํด ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์ด๋์ %, kernel์ ๋ณดํต ๋ฉ๋ชจ๋ฆฌ๋ฅผ overcommitsํ๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก 100%๋ฅผ ๋์ ๊ฒ์ด๋ค.
8. ๊ทธ์ด์ธ ์์ฃผ ์ฐ์ด๋ ์์คํ ๋ชจ๋ํฐ๋ง ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ๋ค์ ์ฐธ๊ณ ์๋ฃ๋ค์ ํตํ์ฌ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์๊ฐํ๋ค.
์ฐธ๊ณ ์๋ฃ:
๋ฆฌ๋ ์ค ์ฟก๋ถ
[Tip] Linux ๋ฉ๋ชจ๋ฆฌ ํ์ธ ๋ฐฉ๋ฒ๋ค
๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ์์คํ ๋ชจ๋ํฐ๋งํ๊ธฐ
๋ฆฌ๋ ์ค ์๋ฒ 60์ด์์ ์ํฉ ํ์ ํ๊ธฐ
์ฐธ๊ณ ์๋ฃ
- Load Average์ ๋ํ์ฌ
- Understanding Linux CPU Load - when should you be worried?
- [์์ง๋์ด๋ง] Load Average์ ์์คํ ๋ถํ
- [์์ง๋์ด๋ง] top ๋ช ๋ น์ด๋ก ํ๋ก์ธ์ค ์ ๋ณด ํ์ธํ๊ธฐ
- [์์ง๋์ด๋ง] free ๋ช ๋ น์ด ์์๋ณด๊ธฐ
- [์์ง๋์ด๋ง] swap ์์ญ ์์๋ณด๊ธฐ
- [๋ฆฌ๋ ์ค] ์์คํ ๋ชจ๋ํฐ๋ง ์ ํธ๋ฆฌํฐ
- ๋ฆฌ๋ ์ค ์ฟก๋ถ
- [Tip] Linux ๋ฉ๋ชจ๋ฆฌ ํ์ธ ๋ฐฉ๋ฒ๋ค
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ์์คํ ๋ชจ๋ํฐ๋งํ๊ธฐ
- ๋ฆฌ๋ ์ค ์๋ฒ 60์ด์์ ์ํฉ ํ์ ํ๊ธฐ
- Bash ์์คํฌ๋ฆฝํธ ๊ฐ๋ฐ ์์ํ๊ธฐ
'Infra & Devops' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
VM๊ณผ ๋์ปค(Docker) , GCP ์ธ์คํด์ค์์ ๋์ปค ์คํ์ํค๊ธฐ (0) | 2021.08.07 |
---|