๋ช ์ฃผ ์ ์ ์ ๊ฐ ํฌ์คํ
ํ ์ ์ด ์์ด์.
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ฅผ ์ปดํจํฐ์ ์ค์นํ ํ
Raspberry Pi์์ ZRAM ํ์ฑํ
Raspberry Pi 4์๋ 1, 2, 4 ๋๋ 8GB RAM์ด ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ์ ๋ 1GB ๋ชจ๋ธ์ ์ฌ์ฉํ ์์ ์ด๋, ๋ชจ๋ธ์ ๋ง๊ฒ ์ฌ์ฉ๋ฒ์ ์กฐ์ ํด์ฃผ์ธ์. 1GB ZRAM์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ์ค์ ํ์ผ(๋๋ฆผ!)์ด ๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ต๋๋ค
์์ ๋งํฌ๋ ์ ์ฅ์์ ์ง์นจ์ด ์ ๊ณต๋์ด ์์ต๋๋ค. ์ค์น:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
๊ตฌ์ฑ์ ํธ์งํ๋ ค๋ฉด ๋ค์์ ์ํํ์ญ์์ค.
vi /etc/default/zram-swap
๋ํ, ZRAM์ ์ค์นํ์ฌ ํ์ฑํํ ์ ์์ต๋๋ค. zram-tools
. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ์ ํธ์งํด์ผ ํฉ๋๋ค. ํ์ผ์ /etc/default/zramswap
, ์ฝ 1GB ZRAM์ ์ค์นํฉ๋๋ค.
sudo apt install zram-tools
์ค์น ํ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ZRAM ์คํ ๋ฆฌ์ง ํต๊ณ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
ZRAM์ ๋ ๋์ ์ฌ์ฉ์ ์ํด ์ปค๋ ๋งค๊ฐ๋ณ์ ์ถ๊ฐ
์ด์ Raspberry Pi๊ฐ ๋ง์ง๋ง ์๊ฐ์ ๊ต์ฒด๋ก ์ ํ๋์ด ์ข ์ข ์ ์ง๋๋ ๊ฒฝ์ฐ ์์คํ ๋์์ ์์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํ์ผ์ ๋ช ์ค์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. /etc/sysctl.conf ๊ทธ๋ฆฌ๊ณ ์ฌ๋ถํ ํ์ธ์.
์ด ๋ผ์ธ 1) ํผํ ์ ์๋ ๊ธฐ์ต์ ๊ณ ๊ฐ์ ์ง์ฐ์ํฌ ๊ฒ์ด๋ค, ์ปค๋ ์บ์์ ๋ํ ์๋ ฅ ์ฆ๊ฐ ๋ฐ 2) ๊ทธ๋ค์ ๊ธฐ์ต๋ ฅ ๊ณ ๊ฐ์ ๋ ์ผ์ฐ ๋๋นํ๊ธฐ ์์ํ๋ค, ๋ฏธ๋ฆฌ ๊ตํ์ ์์ํฉ๋๋ค. ํ์ง๋ง ZRAM์ ํตํด ์์ถ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ต์ฒดํ๋ ๊ฒ์ด ํจ์ฌ ๋ ํจ์จ์ ์ผ ๊ฒ์ ๋๋ค!
ํ์ผ ๋์ ์ถ๊ฐํ ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
๊ทธ๋ฐ ๋ค์ ์์คํ ์ ์ฌ๋ถํ ํ๊ฑฐ๋ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ฑํํฉ๋๋ค.
sudo sysctl --system
vm.vfs_cache_์๋ ฅ=500 ์บ์ ์๋ ฅ์ด ์ฆ๊ฐํ์ฌ ๋๋ ํฐ๋ฆฌ ๋ฐ ์ธ๋ฑ์ค ๊ฐ์ฒด๋ฅผ ์บ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ๋ ค๋ ์ปค๋์ ๊ฒฝํฅ์ด ์ฆ๊ฐํฉ๋๋ค. ์ค๋ ์๊ฐ ๋์ ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ฑ๋ฅ์ ๊ธ๊ฒฉํ ํ๋ฝ์ ์กฐ๊ธฐ ๊ต์ฒด๋ก ์ธํด ์์๋ฉ๋๋ค.
vm.swappiness = 100 ZRAM์ ๋จผ์ ์ฌ์ฉํ๋ฏ๋ก ์ปค๋์ด ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ์ผ๋ง๋ ์ ๊ทน์ ์ผ๋ก ๊ตํํ ์ง ๋งค๊ฐ๋ณ์๋ฅผ ๋๋ฆฝ๋๋ค.
vm.dirty_ground_ratio=1 & vm.dirty_ratio=50 - ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ 1% ์ ํ์ ๋๋ฌํ๋ ์ฆ์ ๊ธฐ๋ก์ ์์ํ์ง๋ง ์์คํ ์ dirty_ratio 50%์ ๋๋ฌํ ๋๊น์ง ๋๊ธฐ I/O๋ฅผ ๊ฐ์ ํ์ง ์์ต๋๋ค.
์ด ๋ค ์ค(ZRAM๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ)์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ฑ๋ฅ ํฅ์์ ๋์์ด ๋ฉ๋๋ค. ํ์ฐ์ ์ผ๋ก RAM์ด ๋ถ์กฑํ๊ณ ์ ์ฒ๋ผ ์ค์์ผ๋ก์ ์ ํ์ด ์์๋ฉ๋๋ค. ์ด ์ฌ์ค์ ์๊ณ ZRAM์ ๋ฉ๋ชจ๋ฆฌ ์์ถ์ XNUMX๋ฐฐ๋ก ๊ณ ๋ คํ๋ฉด ์ด ์ค์์ ๋ฏธ๋ฆฌ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์บ์์ ์๋ ฅ์ ๊ฐํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋์ "์ด๋ด์, ์บ์์ ์ฌ์ฉํ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ผ๋ ์ต๋ํ ๋นจ๋ฆฌ ์ ๊ฑฐํ๊ณ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๊ฑฐ๋ ์ค์ํ ๋ฉ๋ชจ๋ฆฌ๋ง ์ ์ฅํ์ธ์"๋ผ๊ณ ์๋ ค์ฃผ๊ธฐ ๋๋ฌธ์ ๋์์ด ๋ฉ๋๋ค. ๋ฐ์ดํฐ."
์บ์ฑ์ด ๊ฐ์ํ๋๋ผ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ค์น๋ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ถ๋ถ์ด ์ ์ ๋๋ฉด ์ปค๋์ ํจ์ฌ ์ผ์ฐ ๊ธฐํ์ ์ค์์ ์์ํ๋ฏ๋ก CPU(์์ถ) ๋ฐ ์ค์ I/O๋ ๋ง์ง๋ง ์๊ฐ๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ํ ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋๋ฌด ๋ฆ์์ด์. ZRAM์ ์์ถ์ ์ํด ์ฝ๊ฐ์ CPU๋ฅผ ์ฌ์ฉํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์์ด ์ ์ ๋๋ถ๋ถ์ ์์คํ ์์๋ ZRAM์ด ์๋ ์ค์๋ณด๋ค ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ด ํจ์ฌ ์ ์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก
๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
ZRAM์ 264448์ ๊ฑฐ์ XNUMXGB์ ์์ถ๋์ง ์์ ๋ฐ์ดํฐ์ ๋๋ค. ๋ชจ๋ ๊ฒ์ด ZRAM์ผ๋ก ์ด๋ํ๊ณ ํจ์ฌ ๋๋ฆฐ ํ์ด์ง ํ์ผ๋ก๋ ์๋ฌด๊ฒ๋ ์ด๋๋์ง ์์์ต๋๋ค. ์ด ์ค์ ์ ์ง์ ์๋ํด ๋ณด์ธ์. ๋ชจ๋ Raspberry Pi ๋ชจ๋ธ์์ ์๋ํฉ๋๋ค. ์ฌ์ฉํ ์ ์๋ ๋๋ ์์คํ ์ด ๊ธฐ๋ฅ์ ์ด๊ณ ์์ ์ ์ธ ์์คํ ์ผ๋ก ๋ฐ๋์์ต๋๋ค.
๊ฐ๊น์ด ์์ผ ๋ด์ ZRAM ์ค์น ์ ํ์ ์์คํ ํ ์คํธ ๊ฒฐ๊ณผ๋ก ์ด ๊ธฐ์ฌ๋ฅผ ๊ณ์ ์ ๋ฐ์ดํธํ๊ณ ์ถ์ต๋๋ค. ์ง๊ธ์ ์ด๋ด ์๊ฐ์ด ์์ต๋๋ค. ๊ทธ๋์ ์ง์ ํ ์คํธ๋ฅผ ์คํํด ๋ณด์๊ณ ๋๊ธ๋ก ์๋ ค์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. Raspberry Pi 4๋ ์ด๋ฌํ ์ค์ ์ ๊ฐ์ถ ์ง์น์ ๋๋ค. ์ฆ๊ธฐ๋ค!
์ฃผ์ ์ :
์ถ์ฒ : habr.com