๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ
- ๊ธฐ๋ณธ ์ํฌ์คํ
์ด์
๋น๋์์
ํ์ฑํ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์คEarlyoom , ์ปค๋์์ OOM(Out Of Memory) ํธ๋ค๋ฌ๋ฅผ ํธ์ถํ์ง ์๊ณ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ ๋ ์ ์ํ๊ฒ ๋์ํ ์ ์์ต๋๋ค. ์ด ํธ๋ค๋ฌ๋ ์ํฉ์ด ์ฌ๊ฐํด์ง๊ณ ์ผ๋ฐ์ ์ผ๋ก ์์คํ ์ด ์๋ํ์ง ์์ ๋ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค. ์ฌ์ฉ์ ์์ ์ ๋ ์ด์ ์๋ตํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์ด ์ง์ ๋ ๊ฐ๋ณด๋ค ์ ์ผ๋ฉด SIGTERM(์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ 10% ๋ฏธ๋ง) ๋๋ SIGKILL(< 5%)์ ์ ์กํ์ฌ earlyoom์ด ๊ฐ์ฅ ํ๋ฐํ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๋ ํ๋ก์ธ์ค(๊ฐ์ฅ ๋์ /proc๋ฅผ ๊ฐ์ง)๋ฅผ ๊ฐ์ ๋ก ์ข ๋ฃํฉ๋๋ค. /*/oom_score ๊ฐ), ์์คํ ์ํ๋ฅผ ์์คํ ๋ฒํผ ์ง์ฐ๊ธฐ ์ง์ ์ผ๋ก ๊ฐ์ ธ์ค์ง ์๊ณ . -
ํฌํจ ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ ํ์ด๋จธ fstrim.timer๋ ์ผ์ฃผ์ผ์ ํ ๋ฒ fstrim.service ์๋น์ค๋ฅผ ์คํํ์ฌ "/usr/sbin/fstrim โfstab โverbose โquiet" ๋ช ๋ น์ ์คํํฉ๋๋ค. ์ด ๋ช ๋ น์ ๋ง์ดํธ๋ ์ฌ์ฉ๋์ง ์์ ๋ธ๋ก์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅ ์ฅ์น์ ์ ์กํฉ๋๋ค. ํ์ผ ์์คํ ๋ฐ ๋์ ์ผ๋ก ํ์ฅ๋ LVM ์คํ ๋ฆฌ์ง. ์ด ๋ฉ์ปค๋์ฆ์ SSD ๋ฐ NVMe ๋๋ผ์ด๋ธ์ ๋ง๋ชจ๋ฅผ ์ํํ๊ณ ๋ธ๋ก ์ ๋ฆฌ ํจ์จ์ฑ์ ๋์ด๋ฉฐ, LVM์์๋ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ๋์ ์ผ๋ก ํ ๋นํ ๋("์ฌ ํ๋ก๋น์ ๋") ์ฌ์ ๋ ผ๋ฆฌ ํ์ฅ ์์ญ์ ํ๋ก ๋ฐํํ์ฌ ์ฌ์ฉ์ ๊ฐ์ ํฉ๋๋ค. - ์ถ์ ์ ์ ์
๋ฐ์ดํธ๋ ๋ฐ์คํฌํฑ
๊ทธ๋ 3.36 , ๊ทธ๋ ์ ธ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ณ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฑ์ฅํ๊ณ , ๋ก๊ทธ์ธ ๋ฐ ํ๋ฉด ์ ๊ธ ํด์ ์ธํฐํ์ด์ค์ ๋์์ธ์ด ํ๋ํ๋์์ผ๋ฉฐ, ๋๋ถ๋ถ์ ์์คํ ๋ํ ์์๊ฐ ์ฌ์ค๊ณ๋์์ผ๋ฉฐ, ์์คํ ์์ ๊ฐ๋ณ GPU๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ๋ ๊ธฐ๋ฅ์ด ๋ํ๋ฌ์ต๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ๊ทธ๋ํฝ ๋ฐ ๊ฐ์ ๋ชจ๋์์ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ธฐ๋ฅ, ์๋ฆผ ์์คํ ์ "๋ฐฉํด ๊ธ์ง" ๋ฒํผ์ด ์ถ๊ฐ๋๊ณ ์ด๊ธฐ ์ค์ ๋ง๋ฒ์ฌ์ ์๋ ๋ณดํธ ์์คํ ์ ํ์ฑํํ๋ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. - ๊ด๋ จํ์ฌ
์ข ๋ฃ Fedora์ Python 2 ์๋ช ์์ ๊ฑฐ๋จ python2 ํจํค์ง ๋ฐ Python 2๋ฅผ ์คํํ๊ฑฐ๋ ๋น๋ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ํจํค์ง. Python 2๊ฐ ํ์ํ ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ฅผ ์ํด ๋ ๋ฆฝ ์คํํ python27 ํจํค์ง๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ด ํจํค์ง๋ ์ข ์์ฑ์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ์ฌ์ธ์ ์คํ์ผ(ํ์ ํจํค์ง ์์)๋ก ํจํค์ง๋ฉ๋๋ค. - iptables-legacy ๋์ ๊ธฐ๋ณธ๊ฐ
๋ค์ฝํ iptables-nft ํจํค์ง๋ ๋์ผํ ๋ช ๋ น์ค ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ง๋ง ๊ฒฐ๊ณผ ๊ท์น์ nf_tables ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํ๋ iptables์์ ํธํ์ฑ์ ๋ณด์ฅํ๋ ์ ํธ๋ฆฌํฐ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. - ๋์ ๋ฐฉํ๋ฒฝ ๋ฐฉํ๋ฒฝd
์ด์ ๋จ nftables ์์์ ์์ ํฉ๋๋ค. iptables ๋ฐ ebtables๋ ๊ท์น์ ์ง์ ํธ์ถํ๋ ๋ฐ ๊ณ์ ์ฌ์ฉ๋ฉ๋๋ค. - ์ด์
๋ธ๋ฆฌ์๋ GCC 10์ด ์ฌ์ฉ๋๋ฉฐ, Glibc 2.31, Binutils 2.33, LLVM 10-rc, Python 3.8, Ruby 2.7,
Go 1.14, MariaDB 10.4, ๋ชจ๋ ธ 6.6, PostgreSQL 12, PHP 7.4. - ์์ฒด ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน์ ์ ์ํ๋ ํจํค์ง์์๋
๊ตฌํ sysusers.d์ ๋์ผํ ํ์์ ์ฌ์ฉ์ ์ ์๋ก ์ ํ(systemd-sysusers ์ ํธ๋ฆฌํฐ ์์ฒด๋ ์์ง /etc/passwd ๋ฐ /etc/group์ ๋ด์ฉ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ ํ์์ ๋ํด์๋ง ์ด์ผ๊ธฐํฉ๋๋ค. ; ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ ค๋ฉด ์ฌ์ ํ useradd๋ผ๊ณ ํฉ๋๋ค. - DNF ํจํค์ง ๊ด๋ฆฌ์์์
์ถ๊ฐ ๋ฐฐํฌํ์ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ๋ณด๋ค ์ ํํ๊ฒ ์ถ์ ํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ๋ณด๋ด๋ ์ฝ๋์ ๋๋ค. ์๋ ๊ณํ๋ ๊ณ ์ UUID ์๋ณ์ ์ ์ก ๋์ ๋ ๋ง์๊ฐ๋จํ ํ๋ก ์ค์น ์๊ฐ ์นด์ดํฐ์ ์ํคํ ์ฒ ๋ฐ OS ๋ฒ์ ์ ๋ํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. "countme" ์นด์ดํฐ๋ ์๋ฒ ํธ์ถ์ด ์ฒ์ ์ฑ๊ณตํ ํ "0"์ผ๋ก ์ฌ์ค์ ๋๊ณ 7์ผ ํ์๋ ๋งค์ฃผ ์ฆ๊ฐํ๊ธฐ ์์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ ์ค์ธ ๋ฒ์ ์ด ์ผ๋ง๋ ์ค๋ ์ ์ ์ค์น๋์๋์ง ์ถ์ ํ ์ ์์ต๋๋ค. ์ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ์ง์ ๋ ์ ๋ณด ์ ์ก์ ๋นํ์ฑํํ ์ ์์ต๋๋ค. - ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ
์กฐ๋ฆฝ "-fno-semantic-interposition" ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ํ ์คํธ์์ ์ฑ๋ฅ์ด 5%์์ 27%๋ก ํฅ์๋๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. - ๊ตฌ์กฐ
ํฌํจ ๋ gnome-terminal๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๊ธฐ ์ํ OpenType ํ์์ ์ถ๊ฐ ๋นํธ๋งต ๊ธ๊ผด(HarfBuzz๋ก ์ ํํ ํ gnome-terminal์์ ์ด์ ๋นํธ๋งต ๊ธ๊ผด์ ์ฌ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค). - ๋ฐ๋งค ์ค๋นํ ๋
๋จ์ข ๊ดํ ๋งค์ฒด์ฉ ์ค์น ์ด์ ๋ธ๋ฆฌ์ ํ์ง ํ ์คํธ.
Fedora 32๊ณผ ๋์์
์ถ์ฒ : opennet.ru