[Linux] zram
zram์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ ๊ฐ์ ์ํ ์ปค๋ ์์ค ๋ชจ๋ ์ค ํ๋๋ค.
๋จ์ํ ์๋ํํฐ๋ ์๋๊ณ , ์ปค๋ ๋ฒ์ 3.14(2014๋
)๋ถํฐ ํฌํจ๋์๋ค.
zram์ ๋์ ๋ฐฉ์
์ด๊ฑด ๊ธฐ๋ณธ์ ์ผ๋ก, ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ฒด๋ฅผ ์์ถํด์ ์ฌ์ฉํ๋ ๊ธฐ์ ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ์ ํน์ ์์ญ์ zRam์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ผ์ข
์ ์ค์ ๊ณต๊ฐ์ ํ ๋นํด๋๊ณ , ๊ทธ ์์ญ์ ์ผ๋ฐ ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋์คํฌ ๊ธฐ๋ฐ "์ค์ ๋ฉ๋ชจ๋ฆฌ"์ ๋นํด์ ํจ์ฌ ์์ ์ ์ธ ์ฑ๋ฅ๊ณผ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ์ ์ ๊ณตํ๋ค๋๊ฒ ์ฅ์ ์ด๋ค.
ํ์ง๋ง, ์ด๊ฒ๋ ๊ฒฐ๊ตญ์ ํธ๋ ์ด๋์คํ๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ถํ๊ณ ์์ถํด์ ๋ฅผ ํ๋ ํ์ ์์ฒด๋ ๊ฒฐ๊ตญ์๋ CPU ๋ฆฌ์์ค ๋ญ๋น๋ผ๊ณ ๋ณผ ์ ์๊ณ , ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๋ํ ํ๊ฒฝ์ด๋ผ๋ฉด ์๋๋ง ๋จ์ด๋จ๋ฆฌ๋ ํ๋์ด ๋ ์ ์๋ค.
์ค์ ์ฑ๋ฅ
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ ์ค์ ์ฑ๋ฅ์ ๊ฐ์ ธ๊ฐ๋ ค๋ฉด ์์ถ๋ฅ ์ ์์ฃผ ๋๊ฒ ๊ฐ์ ธ๊ฐ์ง๋ ๋ชปํ๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก๋ 2-3๋ฐฐ ์ ๋์ ์์ถ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์ค์ ์ฌ์ฉ๋ก
๊ธฐ์ ์์ฒด๋ ๊ฝค ์ค๋๋๊ณ ์์ ํ๋ ๊ธฐ์ ์ด์ง๋ง, CPU ์ฑ๋ฅ์ ๊ฐ์๋จน๋๋ค๋ ์ ๋๋ฌธ์ ๋๋ถ๋ถ์ ๋ฆฌ๋
์ค ๋ฐฐํฌํ์๋ ๊บผ์ ธ์๋ค.
์ง๊ธ ๋ด๊ฐ ์ฐ๋ ์ฐ๋ถํฌ๋ง ํด๋ zram์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํํด๋จ๊ณ , ์ฐ๋ ค๋ฉด ๋ฐ๋ก ์ ์ด ๋ชจ๋์ ์ค์นํด์ ์ผ์ผ ํ๋ค.
๊ฐ์ฅ ๋ํ์ ์ธ ์ฌ์ฉ๋ก๋ Android๋ค. ์๋๋ก์ด๋๋ ์์ฃผ ์์ ๋ถํฐ ZRAM์ ๊ธฐ๋ณธ์ผ๋ก ํ์ฑํํ๋ค.
์๋๋ก์ด๋๋ฅผ ํฌํจํ ๋ชจ๋ฐ์ผ ํ๊ฒฝ๋ค์ ์ผ๋ฐ ๋ฐ์คํฌํ ํ๊ฒฝ์ ๋นํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ ํธ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์์ธ์ ์ผ๋ก Fedora์ OpenSuse, PopOS๋ ZRAM์ ๊ธฐ๋ณธ์ผ๋ก ํ์ฑํํ๋ค.
vs ์ค์ ๋ฉ๋ชจ๋ฆฌ
ํํ๋ค ๋์คํฌ๊ฐ ์ธ๊ณ ๋จ์๋๋๊น ๋์คํฌ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ๋ ์ค์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๊ทผ๋ฐ ์ด๊ฒ ์ ๋ง ๋น์ฉ์ ์ผ๋ก ์ข์ ์ ํ์ผ์ง๋ ํ์คํ์ง ์๋ค.
์๋ค์ํผ, ๋์คํฌ๊ฐ ์ธ๊ธด ์ธ์ง๋ง, ์ฐ๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ค๋ณด๋ฉด ๊ฒฐ๊ตญ ๋ง๋ชจ๋๋ ์๋ชจํ์ ๋ถ๊ณผํ๋ค.
๊ทธ๋ฆฌ๊ณ RAM์ ๋์คํฌ๋ณด๋ค ์๋ช ์ด ํจ์ฌ ๊ธธ๊ณ , ์ฐ๊ธฐ๋ก ์ธํ ์๋ช ์ ํ๊ฐ ๋ฏธ๋ฏธํ ํธ์ด๋ค. ๊ทธ๋์ ์จํ๋ ๋ฏธ์ค ์์คํ ์ ๊ด๋ฆฌํ๋ ์ ์ฅ์์๋ ๋ฉ๋ชจ๋ฆฌ ์ถ๊ฐ๋ก ์ข ์ฌ์ ZRAM์ ๊ตฌ์ฑํ๋๊ฒ ์ ๋ ดํ ์๋ ์๋ค.
zswap?
์ด๊ฑด zram๊ณผ ๋น์ทํ๋ฉด์๋ ์ข ๋ค๋ฅธ๋ฐ, ์ฝ๊ฐ ๋
ผ๋์ด ์๋ ๊ธฐ์ ์ค ํ๋์ธ ๊ฒ ๊ฐ๋ค.
๋
์์ ์ธ ์์คํ
์ด๋ผ๊ธฐ๋ณด๋ค๋ ๋ฉ๋ชจ๋ฆฌ์ ๋์คํฌ ์ค์ ์ค๊ฐ์ ๋ผ์ธ ์บ์ ๋ ์ด์ด์ ๊ฐ๊น๋ค.
zswap์ ๋ฉ๋ชจ๋ฆฌ์ ์์ถํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ผ๊ณ ํ๋จํ๋ฉด, ZRAM ์ฒ๋ผ ์์ถํด์ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๊ดํ๋ค.
ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋ ์ ์๊ฒ ๋ค๊ณ ํ๋จํ๋ฉด ๋์คํฌ ๊ธฐ๋ฐ ์ค์์ ๋ณด๊ดํ๋ค.
zram๊ณผ๋ ๋ค๋ฅด๊ฒ ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฏธ๋ฆฌ ํ ๋นํด๋์ง๋ ์๋๋ค.
https://www.researchgate.net/figure/nteraction-among-swap-front-end-zswap-and-zpool_fig2_335941803
๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ๊ฒจ๋ฃ๋ ๋ถ์กฑํ๋ฉด ๋ถ์กฑํ๋๋ก ๋์คํฌ๋ฅผ ์ด๋ค๋ ์
์ฅ์ ๊ธฐ๋ฅ์ด๋ผ์, ๋ณ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฟ์ณ๋๊ธฐ๋ ์ด๋ ค์ธ ์ ๋๋ก ๊ฐ๋ฐํ ํ๊ฒฝ์ด๋ผ๋ฉด zswap์ด ๋ ์ ์ฐํ ์ ํ์ผ ์๋ ์๋ค.
ํ์ง๋ง ์ผ๋ฐ์ ์ธ ๋ฐ์คํฌํฑ ์์ค ํ๊ฒฝ์ด๋ผ๋ฉด ๊ตณ์ด ์ด๊ฑธ ์ธ ์ด์ ๋ ์๋ค... zram๋งํผ ์ ์ ๊ณต๋์ง ์๊ณ , ์๊ฑฑ๋๋ ๋ถ๋ถ์ด ์กฐ๊ธ ์์ ์ ์๋ค.
์ด๊ฒ๋ ๋๋ถ๋ถ์ OS์์ ๊ธฐ๋ณธ์ผ๋ก ๊บผ์ ธ์๋ค.
cat /sys/module/zswap/parameters/enabled

๊ทผ๋ฐ ๋ ํน์ดํ๊ฒ ์์ฌํ ๋ฆฌ๋ ์ค๋ zswap์ ๊ธฐ๋ณธ์ผ๋ก ์ผ๋๊ฒ ์ต์ ์ด๋๋ผ.
์ฐธ์กฐ
https://forum.endeavouros.com/t/what-is-zram-and-how-to-install-it/26314
https://wiki.archlinux.org/title/Zram
https://www.reddit.com/r/linux/comments/11dkhz7/zswap_vs_zram_in_2023_whats_the_actual_practical/
https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap.html