๊ฑฐ์ 4๋ ๋ง์ ๊ณต๋ฐฑ๊ธฐ ์ดํ (์ฐธ์กฐ "์ ๋ง๋ก ๋ชจ๋ ๊ฒยป) ํ ๋น ๋๊ตฌ 5.3.1 ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. ์ ๋ง ๋ก โ ๋จํธํ ๋ฐฉ์ง ๋ฐ ํ์ฅ ๊ฐ๋ฅํ ๋์์ฑ ์ง์์ ๊ฐ์กฐํ๋ malloc(3) ๊ตฌํ์ ๋๋ค.
์ด๋ฒ ์ ๋ฆด๋ฆฌ์ค์๋ ๋ฒ๊ทธ ์์ , ์๋ก์ด ๊ธฐ๋ฅ, ์ฑ๋ฅ ์ต์ ํ ๋ฐ ์ด์์ฑ ๊ฐ์ ์ ํฌํจํ 390๊ฐ ์ด์์ ์ปค๋ฐ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ C ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ BSD ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์๋ก์ด ๊ธฐํ:
- pvalloc(3) ์ง์.
- ๋๋ฒ๊ทธ ๋น๋์์ ์ด์ค ํด์ ๊ฐ ๊ฐ์ง๋์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋งคํ ์ด๋ ธํ ์ด์ ์ ํ์ฑํํ๊ธฐ ์ํด `--enable-pageid` ์ปดํ์ผ ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ํ๋กํ์ผ๋ง์ ์ํ ์ต๋ ์คํ ๊น์ด๋ฅผ ์ ์ดํ๋ โโ๋ฐํ์ ๋งค๊ฐ๋ณ์ prof_bt_max๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- secure_getenv ๋์ getenv๋ฅผ ์ฌ์ฉํ๋๋ก ์ปดํ์ผ ์ต์ --enable-force-getenv๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- sbrk(2) ์ฌ์ฉ์ ๋นํ์ฑํํ๊ธฐ ์ํด --disable-dss ์ปดํ์ผ ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ์ค๋ ๋ ์บ์์ ์ ์ฅํ ํญ๋ชฉ ์๋ฅผ ์ ์ดํ๋ โโ์ปดํ์ผ ์ต์ tcache_ncached_max๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- calloc ํธ์ถ ์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ 0์ผ๋ก ์ด๊ธฐํํ ๋ ์ปค๋ ๋๋ memset์ ์ฌ์ฉํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐํ์ ๋งค๊ฐ๋ณ์ calloc_madvise_threshold๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ปดํ์ผ ์ `--disable-user-config` ์ต์ ์ ์ถ๊ฐํ์ฌ ๋ฐํ์์ `/etc/malloc.conf` ํ์ผ ๋๋ `MALLOC_CONF` ํ๊ฒฝ ๋ณ์์์ ์ค์ ์ ์ฝ์ด์ค๋ ๊ธฐ๋ฅ์ ๋นํ์ฑํํ์ต๋๋ค.
- ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก(์ฆ, ํฌ๊ธฐ๊ฐ 4 * PAGE ์ด์์ธ ๋ธ๋ก)์ ํ ๋นํ ๋ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๋ ์๋ก์ด ํฌ๊ธฐ ๊ณ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฑํํ๊ธฐ ์ํด ๋ฐํ์ ๋งค๊ฐ๋ณ์ disable_large_size_classes๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- process_madvise ์ฌ์ฉ์ ํ์ฑํํ๊ณ ๊ฐ madvise "๋ฐฐ์น"์์ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์๋ฅผ ์ ์ดํ๋ โโ๋ฐํ์ ๋งค๊ฐ๋ณ์ process_madvise_max_batch๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- mallctl ์ธํฐํ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค:
- opt.prof_bt_max;
- ๊ฒฝ๊ธฐ์ฅ.
- thread.tcache.max๋ฅผ ๋ณ๊ฒฝํ๊ณ ํ์ฌ ์ค๋ ๋์ tcache_max ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
- thread.tcache.ncached_max.write ๋ฐ thread.tcache.ncached_max.read_sizeclass๋ฅผ ๋ณ๊ฒฝํ๊ณ ํ์ฌ ์ค๋ ๋์ ncached_max๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- arenas.hugepage๋ ์ฌ์ฉ๋ hugepage ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ฉฐ, ์ด ๊ฐ์ malloc ํต๊ณ์๋ ๋ด๋ณด๋ด์ง๋๋ค.
- approximate_stats.active๋ ํ์ฌ ํ์ฑํ๋ ๋ฐ์ดํธ ์์ ๊ทผ์ฌ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ด ๊ฐ์ ๋ค๋ฅธ ํต๊ณ ๋ฐ์ดํฐ์ ๋น๊ตํด์๋ ์ ๋ฉ๋๋ค.
- ๋ํ ๋ง์ ๋ฒ๊ทธ๊ฐ ์์ ๋์๊ณ ๋ฌธ์๋ ๊ฐ์ ๋์์ต๋๋ค.
์ถ์ฒ : linux.org.ru
