Linux ์ปค๋„ ๋นŒ๋“œ ์†๋„๋ฅผ 50-80% ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํŒจ์น˜ ์„ธํŠธ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ž˜ ์•Œ๋ ค์ง„ Linux ์ปค๋„ ๊ฐœ๋ฐœ์ž์ด์ž CFS(Completely Fair Scheduler) ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ €์ž์ธ Ingo Molnar๋Š” Linux ์ปค๋„ ๊ฐœ๋ฐœ์ž ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ํ† ๋ก ์„ ์œ„ํ•ด ์ปค๋„ ์†Œ์Šค์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ผ๋ จ์˜ ํŒจ์น˜๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์— ๋”ฐ๋ผ ์ „์ฒด ์ปค๋„ ์žฌ๊ตฌ์ถ• ์†๋„๊ฐ€ 50-80% ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„๋œ ์ตœ์ ํ™”๋Š” ์ปค๋„ ๊ฐœ๋ฐœ ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ํฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์„ธํŠธ ์ถ”๊ฐ€์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค. 2297๊ฐœ์˜ ํŒจ์น˜๊ฐ€ ํ•œ ๋ฒˆ์— ํฌํ•จ๋˜๋„๋ก ์ œ์•ˆ๋˜์–ด 25๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ("ํฌํ•จ ํ—ค๋” ํŒŒ์ผ 10๊ฐœ) ์ด์ƒ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. /โ€ ๋ฐ โ€œarch/*/include/โ€ ๋””๋ ‰ํ„ฐ๋ฆฌ "๋ฐ ์†Œ์Šค ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ 15๊ฐœ์˜ ํŒŒ์ผ).

ํ—ค๋” ํŒŒ์ผ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. XNUMX๋…„์ด ๋„˜๋Š” ์ปค๋„ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ํ—ค๋” ํŒŒ์ผ์˜ ์ƒํƒœ๋Š” ํŒŒ์ผ๋“ค ์‚ฌ์ด์— ์ˆ˜๋งŽ์€ ์ƒํ˜ธ ์ข…์†์„ฑ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์šธํ•œ ๋ชจ์Šต์„ ๋ ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ—ค๋” ํŒŒ์ผ ๊ตฌ์กฐ ์กฐ์ •์—๋Š” XNUMX๋…„ ์ด์ƒ์ด ๊ฑธ๋ ธ์œผ๋ฉฐ ๊ณ„์ธต ๊ตฌ์กฐ์™€ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ƒ๋‹นํ•œ ์žฌ์ž‘์—…์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์กฐ ์กฐ์ • ์ค‘์— ๋‹ค์–‘ํ•œ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์œ ํ˜• ์ •์˜์™€ API๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘์—๋Š” ์ƒ์œ„ ํ—ค๋” ํŒŒ์ผ์„ ์„œ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ํ—ค๋” ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ธ๋ผ์ธ ํ•จ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ํ—ค๋” ํŒŒ์ผ์„ ์œ ํ˜• ๋ฐ API๋ณ„๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ํ—ค๋” ํŒŒ์ผ์˜ ๋ณ„๋„ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. (์•ฝ 80๊ฐœ ํŒŒ์ผ์—๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ๊ฐ„์ ‘์ ์ธ ์ข…์†์„ฑ์ด ์žˆ์—ˆ๊ณ , ๋‹ค๋ฅธ ํ—ค๋” ํŒŒ์ผ), ".h" ๋ฐ ".c" ํŒŒ์ผ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ์ž๋™ ์ถ”๊ฐ€, ํ—ค๋” ํŒŒ์ผ์˜ ๋‹จ๊ณ„๋ณ„ ์ตœ์ ํ™”, "CONFIG_KALLSYMS_FAST=y" ๋ชจ๋“œ ์‚ฌ์šฉ, C ํŒŒ์ผ์„ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ธ”๋ก์œผ๋กœ ์„ ํƒ์ ์œผ๋กœ ํ†ตํ•ฉํ•˜์—ฌ ๊ฐœ์ฒด ํŒŒ์ผ์˜ ์ˆ˜๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ์ด๋ฒˆ ์ž‘์—…์„ ํ†ตํ•ด ํ›„์ฒ˜๋ฆฌ ๋‹จ๊ณ„์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ํ—ค๋” ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ 1~2๋ฐฐ ์ •๋„ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ตœ์ ํ™” ์ „์—๋Š” โ€œlinux/gfp.hโ€ ํ—ค๋” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด 13543์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ  303๊ฐœ์˜ ์ข…์† ํ—ค๋” ํŒŒ์ผ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ, ์ตœ์ ํ™” ํ›„์—๋Š” ํฌ๊ธฐ๊ฐ€ 181์ค„๊ณผ 26๊ฐœ์˜ ์ข…์† ํŒŒ์ผ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ: ํŒจ์น˜ ์—†์ด โ€œkernel/pid.cโ€ ํŒŒ์ผ์„ ์ „์ฒ˜๋ฆฌํ•  ๋•Œ 94์ค„์˜ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜๋Š”๋ฐ, ๊ทธ ์ค‘ ๋Œ€๋ถ€๋ถ„์€ pid.c์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ—ค๋” ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ์ฒ˜๋ฆฌ๋˜๋Š” ์ฝ”๋“œ์˜ ์–‘์ด 36๋ฐฐ๋กœ ์ค„์–ด๋“ค์–ด ์ฒ˜๋ฆฌ ๋ผ์ธ ์ˆ˜๊ฐ€ XNUMX์ค„๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ "make -j96 vmlinux" ๋ช…๋ น์œผ๋กœ ์ปค๋„์„ ์™„์ „ํžˆ ์žฌ๊ตฌ์ถ•ํ–ˆ์„ ๋•Œ, ํŒจ์น˜ ์ ์šฉ์œผ๋กœ v5.16-rc7 ๋ธŒ๋žœ์น˜์˜ ๋นŒ๋“œ ์‹œ๊ฐ„์ด 231.34์ดˆ์—์„œ 129.97์ดˆ๋กœ(15.5์—์„œ 27.7 ๋นŒ๋“œ๋กœ) ๋‹จ์ถ•๋œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋‹น), ์กฐ๋ฆฝ ์ค‘ CPU ์ฝ”์–ด ์‚ฌ์šฉ ํšจ์œจ์„ฑ๋„ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ๋ถ„ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์ ํ™” ํšจ๊ณผ๊ฐ€ ๋”์šฑ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. ํ—ค๋” ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•œ ํ›„ ์ปค๋„์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋Š” ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ๋‹จ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ณ€๊ฒฝ๋˜๋Š” ํ—ค๋” ํŒŒ์ผ์— ๋”ฐ๋ผ 112%์—์„œ 173%๋กœ). ์ตœ์ ํ™”๋Š” ํ˜„์žฌ ARM64, MIPS, Sparc ๋ฐ x86(32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ) ์•„ํ‚คํ…์ฒ˜์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€