์ค๋ผํด ํ์ฌ ์ปค๋์ ๋ ๋ฒ์งธ ๊ธฐ๋ฅ ์ ๋ฐ์ดํธ ์ ํต์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ ์์น์ ์์ต๋๋ค. Oracle Linux Red Hat Enterprise์ ํ์ค ์ปค๋ ํจํค์ง์ ๋ํ ๋์์ผ๋ก Linux์ด ์ปค๋์ x86_64 ๋ฐ ARM64(aarch64) ์ํคํ ์ฒ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ปค๋ ์์ค ์ฝ๋์๋ ๊ฐ๋ณ ํจ์น์ ๋ํ ๋ถ์๋ ํฌํจ๋์ด ์์ต๋๋ค. ๊ณต๊ฐ Oracle Git ์ ์ฅ์์ ์์ต๋๋ค.
Unbreakable Enterprise Kernel 5์ ์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. (UEK R4๋ 4.1 ์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํจ) ์๋ก์ด ๊ธฐ๋ฅ, ์ต์ ํ ๋ฐ ์์ ์ฌํญ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ RHEL์์ ์คํ๋๋ ๋๋ถ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ํธํ์ฑ ํ ์คํธ๋ ๊ฑฐ์ณค์ผ๋ฉฐ Oracle ์ฐ์ ์ฉ ์ํํธ์จ์ด ๋ฐ ํ๋์จ์ด์ ํจ๊ป ์๋ํ๋๋ก ํน๋ณํ ์ต์ ํ๋์์ต๋๋ค. UEK R5U1 ์ปค๋์ ์ฌ์ฉํ ์ค์น ๋ฐ src ํจํค์ง ์ Oracle Linux 7.5 ะธ 7.6 (ะฝะตั ะฝะธะบะฐะบะธั ะฟัะตะฟััััะฒะธะน ะฟะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะดะฐะฝะฝะพะณะพ ัะดัะฐ ะฒ ะฐะฝะฐะปะพะณะธัะฝัั ะฒะตััะธัั RHEL, CentOS ๊ทธ๋ฆฌ๊ณ ๊ณผํ Linux).
์ด์ :
- ํจ์น๋ PSI(Pressure Stall Information) ํ์ ์์คํ ์ ๊ตฌํ๊ณผ ํจ๊ป ์ ์ก๋์์ต๋๋ค. ์ด๋ฅผ ํตํด cgroup์ ํน์ ์์ ๋๋ ํ๋ก์ธ์ค ์ธํธ์ ๋ํด ๋ค์ํ ๋ฆฌ์์ค(CPU, ๋ฉ๋ชจ๋ฆฌ, I/O)๋ฅผ ์ป๊ธฐ ์ํ ๋๊ธฐ ์๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ถ์ํ ์ ์์ต๋๋ค. . PSI๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๊ณต๊ฐ ํธ๋ค๋ฌ๋ ๋ก๋ ํ๊ท ๊ณผ ๋น๊ตํ์ฌ ์์คํ ๋ก๋ ์์ค๊ณผ ์๋ ์ ํ ํจํด์ ๋ ์ ํํ๊ฒ ์์ธกํ ์ ์์ต๋๋ค.
- cgroup2์ ๊ฒฝ์ฐ, NUMA ๋ฉ๋ชจ๋ฆฌ ๋ ธ๋ ๋ฐ CPU์์ ์์ ๋ฐฐ์น๋ฅผ ์ ํํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ cpuset ๋ฆฌ์์ค ์ปจํธ๋กค๋ฌ๊ฐ ํ์ฑํ๋์ด, cpuset pseudo-FS ์ธํฐํ์ด์ค๋ฅผ ํตํด ์์ ๊ทธ๋ฃน์ ๋ํด ์ ์๋ ๋ฆฌ์์ค๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ktask ํ๋ ์์ํฌ๋ ์๋นํ CPU ๋ฆฌ์์ค๋ฅผ ์๋นํ๋ ์ปค๋์ ์์ ์ ๋ณ๋ ฌํํ๊ธฐ ์ํด ๊ตฌํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ktask๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ๋ฒ์๋ฅผ ์ง์ฐ๊ฑฐ๋ inode ๋ชฉ๋ก์ ์ฒ๋ฆฌํ๋ ์์ ์ ๋ณ๋ ฌํ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- DTrace์์ ์๋ก์ด ์์ "pcap(skb,proto)"๋ฅผ ์ฌ์ฉํ์ฌ libpcap์ ํตํ ํจํท ์บก์ฒ ์ง์ ์: "dtrace -n 'ip:::send { pcap((void *)arg0, PCAP_IP); }'";
- ์๋ก์ด ์ปค๋ ๋ฆด๋ฆฌ์ค์์ btrfs, CIFS, ext4, OCFS2 ๋ฐ XFS ํ์ผ ์์คํ ๊ตฌํ ์์ ;
- ์ปค๋ 4.19๋ถํฐ KVM, Xen ๋ฐ Hyper-V ํ์ดํผ๋ฐ์ด์ ์ง์๊ณผ ๊ด๋ จ๋ ๋ณ๊ฒฝ ์ฌํญ
- ์ฅ์น ๋๋ผ์ด๋ฒ ๋ฐ NVMe ๋๋ผ์ด๋ธ์ ๋ํ ํ์ฅ๋ ์ง์(์ปค๋ 4.18์์ 4.21๋ก์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ก๋จ)
- ARM ํ๋ซํผ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ์กฐ์ ์ด ์ ์ฉ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
