CentOS 7(RHEL 7)๋ถํฐ
free๋ช ๋ น์ด์ ์ถ๋ ฅ ํ์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ธฐ์กด์buffers/cache๋ผ์ธ์ด ์ฌ๋ผ์ง๊ณavailable์ปฌ๋ผ์ด ์ถ๊ฐ๋ ๋ฐฐ๊ฒฝ์ ์ดํดํ๊ณ , ์ ํํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค.
0. ๋ฐฐ๊ฒฝ ์ง์: CentOS 6 vs 7 ์ฐจ์ด์
๋ฆฌ๋ ์ค๋ ๋จ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ทน์ ์ผ๋ก ์บ์(Cache)๋ก ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ๋์ ๋๋ค. ๋ฐ๋ผ์ 'Used'๊ฐ ๋๋ค๊ณ ํด์ ๋ฐ๋์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒ์ ์๋๋๋ค.
- CentOS 6 ์ดํ:
-/+ buffers/cacheํ์ ํตํด ์ค์ง ์ฌ์ฉ๋์ ํ์ธํ์ต๋๋ค. - CentOS 7 ์ด์: ์ปค๋์ด ์ง์ ๊ณ์ฐํ
available์ปฌ๋ผ์ ํตํด "์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ"๋ฅผ ํ๋จํฉ๋๋ค.
Test Environment
- OS: CentOS 7 (Kernel 3.10.0-957.el7.x86_64)
1. ๋ฉ๋ชจ๋ฆฌ ํ์ธ ๋ช ๋ น์ด (free)
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ์ธ ๋ฐฉ๋ฒ์
๋๋ค. -m ์ต์
์ Megabyte ๋จ์๋ก ์ถ๋ ฅํฉ๋๋ค.
[root@localhost sw]# free -m
total used free shared buff/cache available
Mem: 7803 892 4686 263 2224 6277
Swap: 8064 0 8064
์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๋ฐ ์์ธ ๋ณด๊ธฐ
-w(wide) ์ต์
์ ์ฃผ๋ฉด buffer์ cache๋ฅผ ๋ถ๋ฆฌํด์ ๋ณผ ์ ์๊ณ , -s(seconds) ์ต์
์ผ๋ก ๋ฐ๋ณต ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
# 1์ด ๊ฐ๊ฒฉ์ผ๋ก buffer/cache๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ถ๋ ฅ
free -mw -s 1
2. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ๊ณ์ฐ ๊ณต์ (Calculation)
๋จ์ํ used / total๋ก ๊ณ์ฐํ๋ฉด ์บ์ ๋ฉ๋ชจ๋ฆฌ๊น์ง ์ฌ์ฉ๋์ ํฌํจ๋์ด ์์น๊ฐ ๊ณผ๋ํ๊ฒ ๋๊ฒ ๋์ต๋๋ค. ๋ชฉ์ ์ ๋ฐ๋ผ ๊ณ์ฐ ๋ฐฉ์์ ๋ฌ๋ฆฌํด์ผ ํฉ๋๋ค.
๊ณต์ A: OS ๊ด์ ์ ์ฌ์ฉ๋ฅ (์บ์ ํฌํจ)
๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ ๋ก ์ผ๋ง๋ ํ ๋น๋์ด ์๋์ง(๋ฐ๋ฉ๋์ง ์์ ์ํ) ํ์ธํ ๋ ์ฌ์ฉํฉ๋๋ค.
$$ Usage(\%) = \frac{used}{total} \times 100 $$
๊ณต์ B: ์ ํ๋ฆฌ์ผ์ด์ ๊ด์ ์ ์ค์ง ์ฌ์ฉ๋ฅ (๊ถ์ฅ)
"์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๊ฐ?"๋ฅผ ํ๋จํ ๋๋ available ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํด์ผ ํฉ๋๋ค.
$$ Usage(\%) = \frac{total - available}{total} \times 100 $$
sar -r 1 ๋ช
๋ น์ด๋ฅผ ํตํด์๋ %memused(๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ )๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
3. ์ฃผ์ ํ๋ผ๋ฏธํฐ ์ค๋ช (Parameters)
CentOS 7 free ๋ช
๋ น์ด์ ๊ฐ ์ปฌ๋ผ์ด ์๋ฏธํ๋ ๋ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ํ๋ผ๋ฏธํฐ | ์ค๋ช |
|---|---|
| total | ์ค์น๋ ์ ์ฒด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ |
| used | ํ์ฌ ํ ๋น๋์ด ์ฌ์ฉ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ (total - free - buff/cache) |
| free | ์๋ฌด ์ฉ๋๋ก๋ ์ฌ์ฉ๋์ง ์๋ ์์ ํ ์ ํด ๋ฉ๋ชจ๋ฆฌ |
| shared | tmpfs(๋จ๋์คํฌ) ๋ฑ ํ๋ก์ธ์ค ๊ฐ ๊ณต์ ๋๋ ๋ฉ๋ชจ๋ฆฌ |
| buff/cache | ์ปค๋ ๋ฒํผ ๋ฐ ํ์ผ ์์คํ ์บ์ (ํ์์ ์ฆ์ ๋ฐํ ๊ฐ๋ฅ) |
| available | (ํต์ฌ) ์ค์ํ(Swapping) ์์ด ์๋ก์ด ํ๋ก์ธ์ค ์คํ์ ์ฆ์ ํ ๋น ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์ถ์ ์น |
Next Step:
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ด ๋น์ ์์ ์ผ๋ก ๋๋ค๋ฉด(available ๋ถ์กฑ), top ๋ช
๋ น์ด๋ก ๋ฉ๋ชจ๋ฆฌ ๋์(Leak)๊ฐ ์์ฌ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๊ฑฐ๋, echo 3 > /proc/sys/vm/drop_caches ๋ช
๋ น์ด๋ก ์บ์๋ฅผ ๊ฐ์ ๋ฐํํ์ฌ ๊ฐ์ฉ ๊ณต๊ฐ์ ํ๋ณดํ๋ ๋ฐฉ๋ฒ์ ๊ฒํ ํด ๋ณด์ธ์.