set_mempolicy(2) - wariua/manpages-ko GitHub Wiki

NAME

set_mempolicy - ์Šค๋ ˆ๋“œ์™€ ๊ทธ ์ž์‹๋“ค์— ๊ธฐ๋ณธ NUMA ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ… ์„ค์ •ํ•˜๊ธฐ

SYNOPSIS

#include <numaif.h>

long set_mempolicy(int mode, const unsigned long *nodemask,
                   unsigned long maxnode);

-lnuma๋กœ ๋งํฌ.

DESCRIPTION

set_mempolicy()๋Š” ํ˜ธ์ถœ ์Šค๋ ˆ๋“œ์˜ NUMA ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์„ ์„ค์ •ํ•œ๋‹ค. ์ •์ฑ…์€ ์ •์ฑ… ๋ชจ๋“œ์™€ 0๊ฐœ ์ด์ƒ์˜ ๋…ธ๋“œ๋“ค๋กœ ์ด๋ค„์ง€๋ฉฐ ์ด๋ฅผ mode, nodemask, maxnode ์ธ์ž๋กœ ์ง€์ •ํ•œ ๊ฐ’๋“ค๋กœ ์„ค์ •ํ•œ๋‹ค.

NUMA ๋จธ์‹ ์—๋Š” CPU๋“ค๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์€ ์Šค๋ ˆ๋“œ๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ด๋А ๋…ธ๋“œ์—์„œ ํ• ๋‹นํ• ์ง€ ๊ทœ์ •ํ•œ๋‹ค.

์ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ์Šค๋ ˆ๋“œ์˜ ๊ธฐ๋ณธ ์ •์ฑ…์„ ์ง€์ •ํ•œ๋‹ค. mbind(2)๋กœ ์„ค์ •ํ•œ ๋” ๊ตฌ์ฒด์ ์ธ ์ •์ฑ…์˜ ํ†ต์ œ๋ฅผ ๋ฐ›๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„๋“ค ์™ธ์˜ ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ์Šค๋ ˆ๋“œ ์ •์ฑ…์ด ํŽ˜์ด์ง€ ํ• ๋‹น์„ ์ œ์–ดํ•œ๋‹ค. ์Šค๋ ˆ๋“œ ๊ธฐ๋ณธ ์ •์ฑ…์€ ๋˜ํ•œ mmap(2) ํ˜ธ์ถœ์„ MAP_PRIVATE ํ”Œ๋ž˜๊ทธ๋กœ ์‚ฌ์šฉํ•ด ๋งต ํ•ด์„œ ๊ทธ ์Šค๋ ˆ๋“œ์—์„œ๋งŒ ์ฝ๋Š”(์ ์žฌํ•˜๋Š”) ๋ฉ”๋ชจ๋ฆฌ ๋งต ํŒŒ์ผ๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ mmap(2) ํ˜ธ์ถœ์„ MAP_SHARED ํ”Œ๋ž˜๊ทธ๋กœ ์‚ฌ์šฉํ•ด ๋งต ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋งต ํŒŒ์ผ์˜ ํŽ˜์ด์ง€ ํ• ๋‹น์„ ์ œ์–ดํ•œ๋‹ค. ์Šค๋ ˆ๋“œ๋ฅผ ์œ„ํ•ด ์ƒˆ ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹นํ•  ๋•Œ์—๋งŒ ์ •์ฑ…์ด ์ ์šฉ๋œ๋‹ค. ์ต๋ช… ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ ๊ฑด๋“œ๋ฆด ๋•Œ์ด๋‹ค.

mode ์ธ์ž์—๋Š” MPOL_DEFAULT, MPOL_BIND, MPOL_INTERLEAVE, MPOL_PREFERRED, MPOL_LOCAL (์•„๋ž˜์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•จ) ์ค‘ ํ•˜๋‚˜๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. MPOL_DEFAULT๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ชจ๋“œ์—์„œ ํ˜ธ์ถœ์ž๊ฐ€ nodemask ์ธ์ž๋ฅผ ํ†ตํ•ด ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•  ๋…ธ๋“œ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

mode ์ธ์ž์— ์„ ํƒ์ ์œผ๋กœ ๋ชจ๋“œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ์ง€์›ํ•˜๋Š” ๋ชจ๋“œ ํ”Œ๋ž˜๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

MPOL_F_STATIC_NODES (๋ฆฌ๋ˆ…์Šค 2.6.26๋ถ€ํ„ฐ)
๋น„์–ด ์žˆ์ง€ ์•Š์€ nodemask๊ฐ€ ๋ฌผ๋ฆฌ์  ๋…ธ๋“œ ID๋“ค์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ cpuset ๋ฌธ๋งฅ์œผ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์ด ํ—ˆ์šฉํ•˜๋Š” ๋…ธ๋“œ ์ง‘ํ•ฉ์ด ๋ฐ”๋€” ๋•Œ ๋ฆฌ๋ˆ…์Šค์—์„œ nodemask๋ฅผ ์žฌ์‚ฌ์ƒ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
MPOL_F_RELATIVE_NODES (๋ฆฌ๋ˆ…์Šค 2.6.26๋ถ€ํ„ฐ)
๋น„์–ด ์žˆ์ง€ ์•Š์€ nodemask๊ฐ€ ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset์ด ํ—ˆ์šฉํ•˜๋Š” ๋…ธ๋“œ ID ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์ƒ๋Œ€์ ์ธ ๋…ธ๋“œ ID๋“ค์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

nodemask๋Š” ๋…ธ๋“œ ID๋“ค์˜ ๋น„ํŠธ ๋งˆ์Šคํฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ๊ทธ ๋น„ํŠธ ๋งˆ์Šคํฌ์—๋Š” ์ตœ๋Œ€ maxnode ๊ฐœ๊นŒ์ง€์˜ ๋น„ํŠธ๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค. ๋น„ํŠธ ๋งˆ์Šคํฌ ํฌ๊ธฐ๋ฅผ sizeof(unsigned long)์˜ ๋‹ค์Œ ๋ฐฐ์ˆ˜๋กœ ์˜ฌ๋ฆผ ํ•˜์ง€๋งŒ ์ปค๋„์—์„œ๋Š” maxnode ๊ฐœ๊นŒ์ง€์˜ ๋น„ํŠธ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. nodemask ๊ฐ’์ด NULL์ด๊ฑฐ๋‚˜ maxnode ๊ฐ’์ด 0์ด๋ฉด ๋นˆ ๋…ธ๋“œ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. maxnode์˜ ๊ฐ’์ด 0์ด๋ฉด nodemask ์ธ์ž๋ฅผ ๋ฌด์‹œํ•œ๋‹ค.

nodemask๊ฐ€ ํ•„์ˆ˜์ธ ๊ฒฝ์šฐ์— ๊ทธ ์ธ์ž๋Š” ์˜จ๋ผ์ธ์ด๊ณ , (MPOL_F_STATIC_NODES ๋ชจ๋“œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์œผ๋ฉด) ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์ด ํ—ˆ์šฉํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ์ ์–ด๋„ ํ•œ ๊ฐœ๋Š” ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค. mode์— MPOL_F_STATIC_NODES๊ฐ€ ์„ค์ •๋ผ ์žˆ๊ณ  ํ•„์ˆ˜์ธ nodemask์— ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์ด ํ—ˆ์šฉํ•˜๋Š” ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜๋„ ๋‹ด๊ฒจ ์žˆ์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์ด ์ง€์—ญ ํ• ๋‹น์œผ๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค. ์ฆ‰ ํ”„๋กœ์„ธ์Šค์˜ cpuset ๋ฌธ๋งฅ์ด nodemask์— ์ง€์ •ํ•œ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จํ•˜๊ฒŒ ๋  ๋•Œ๊นŒ์ง€๋Š” ์‹ค์งˆ์ ์œผ๋กœ ์ง€์ •ํ•œ ์ •์ฑ…์„ ๋ฌด์‹œํ•œ๋‹ค.

mode ์ธ์ž์— ๋‹ค์Œ ๊ฐ’๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ํฌํ•จ๋ผ์•ผ ํ•œ๋‹ค.

MPOL_DEFAULT
์ด ๋ชจ๋“œ๋Š” ๊ธฐ๋ณธ๊ณผ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์„ ์‹œ์Šคํ…œ ๊ธฐ๋ณธ ์ •์ฑ…์œผ๋กœ "ํ›„ํ‡ด"์‹œํ‚ค๊ฒŒ ํ•œ๋‹ค. ์‹œ์Šคํ…œ ๊ธฐ๋ณธ ์ •์ฑ…์€ "์ง€์—ญ ํ• ๋‹น"์ด๋‹ค. ์ฆ‰ ํ• ๋‹น์„ ์ด‰๋ฐœํ•œ CPU์˜ ๋…ธ๋“œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. nodemask๋ฅผ NULL๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. "์ง€์—ญ ๋…ธ๋“œ"์— ์œ ํœด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด "์ธ๊ทผ" ๋…ธ๋“œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋ ค ์‹œ๋„ํ•˜๊ฒŒ ๋œ๋‹ค.
MPOL_BIND
์ด ๋ชจ๋“œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ nodemask์— ์ง€์ •ํ•œ ๋…ธ๋“œ๋“ค๋กœ ์ œ์•ฝํ•˜๋Š” ์—„๊ฒฉํ•œ ์ •์ฑ…์„ ์ง€์ •ํ•œ๋‹ค. nodemask์— ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์œผ๋ฉด ๋…ธ๋“œ ID์˜ ์ˆซ์ž ๊ฐ’์ด ๊ฐ€์žฅ ๋‚ฎ์€ ๋…ธ๋“œ์—์„œ ํŽ˜์ด์ง€ ํ• ๋‹น์„ ํ•œ๋‹ค. ๊ทธ ๋…ธ๋“œ์— ์œ ํœด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—†์–ด์ง€๋ฉด nodemask์— ์ง€์ •ํ•œ ๋‹ค์Œ์œผ๋กœ ๋‚ฎ์€ ID์˜ ๋…ธ๋“œ์—์„œ ํ• ๋‹น์„ ํ•˜๊ณ , ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์ง€์ •ํ•œ ๋…ธ๋“œ๋“ค ์–ด๋””์—๋„ ์œ ํœด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€ ์ง„ํ–‰ํ•œ๋‹ค. nodemask์— ์ง€์ •ํ•˜์ง€ ์•Š์€ ์–ด๋–ค ๋…ธ๋“œ์—์„œ๋„ ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š”๋‹ค.
MPOL_INTERLEAVE
์ด ๋ชจ๋“œ์—์„œ๋Š” nodemask์— ์ง€์ •ํ•œ ๋…ธ๋“œ๋“ค ๋‚ด์—์„œ ๋…ธ๋“œ ID ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ต๋Œ€๋กœ ํŽ˜์ด์ง€ ํ• ๋‹น์„ ํ•œ๋‹ค. ํŽ˜์ด์ง€๋“ค๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋กœ ๋ถ„์‚ฐ์‹œํ‚ด์œผ๋กœ์จ ์ง€์—ฐ๋ณด๋‹ค๋Š” ๋Œ€์—ญํญ์„ ์ตœ์ ํ™” ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ผ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์—ฌ์ „ํžˆ ๋‹จ์ผ ๋…ธ๋“œ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์œผ๋กœ ์ œํ•œ๋œ๋‹ค.
MPOL_PREFERRED
์ด ๋ชจ๋“œ๋Š” ํ• ๋‹น ์„ ํ˜ธ ๋…ธ๋“œ๋ฅผ ์„ค์ •ํ•œ๋‹ค. ์ปค๋„์ด ๋จผ์ € ๊ทธ ๋…ธ๋“œ์—์„œ ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹นํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ๊ทธ ์„ ํ˜ธ ๋…ธ๋“œ์— ์œ ํœด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด "์ธ๊ทผ" ๋…ธ๋“œ๋กœ ํ›„ํ‡ดํ•œ๋‹ค. nodemask์— ๋…ธ๋“œ ID๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ •ํ•˜๋ฉด ๋งˆ์Šคํฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ์„ ํ˜ธ ๋…ธ๋“œ๋กœ ์„ ํƒํ•˜๊ฒŒ ๋œ๋‹ค. nodemask ๋ฐ maxnode ์ธ์ž๊ฐ€ ๋นˆ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒฝ์šฐ์—๋Š” ์ด ์ •์ฑ…์ด (์œ„์— ๋…ผ์˜ํ•œ ์‹œ์Šคํ…œ ๊ธฐ๋ณธ ์ •์ฑ… ๊ฐ™์€) "์ง€์—ญ ํ• ๋‹น"์„ ์ง€์ •ํ•œ๋‹ค.
MPOL_LOCAL (๋ฆฌ๋ˆ…์Šค 3.8๋ถ€ํ„ฐ)
์ด ๋ชจ๋“œ๋Š” "์ง€์—ญ ํ• ๋‹น"์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฆ‰ ํ• ๋‹น์„ ์ด‰๋ฐœํ•œ CPU์˜ ๋…ธ๋“œ("์ง€์—ญ ๋…ธ๋“œ")์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. nodemask ๋ฐ maxnode ์ธ์ž๊ฐ€ ๋นˆ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. "์ง€์—ญ ๋…ธ๋“œ"์— ์œ ํœด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ ์ปค๋„์€ ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์‹œ๋„ํ•˜๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ปค๋„์ด ํ•ญ์ƒ "์ง€์—ญ ๋…ธ๋“œ"์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์ด "์ง€์—ญ ๋…ธ๋“œ"๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ปค๋„์ด ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์‹œ๋„ํ•˜๊ฒŒ ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์—์„œ ํ—ˆ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์ปค๋„์ด ํ•ญ์ƒ "์ง€์—ญ ๋…ธ๋“œ"์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค.

execve(2)๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ์Šค๋ ˆ๋“œ ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์ด ๋ณด์กด๋˜๋ฉฐ, fork(2)๋‚˜ clone(2)์œผ๋กœ ์ƒ์„ฑํ•œ ์ž์‹์ด ์ •์ฑ…์„ ๋ฌผ๋ ค๋ฐ›๋Š”๋‹ค.

RETURN VALUE

์„ฑ๊ณต ์‹œ set_mempolicy()๋Š” 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์˜ค๋ฅ˜ ์‹œ -1์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋„๋ก errno๋ฅผ ์„ค์ •ํ•œ๋‹ค.

ERRORS

EFAULT
nodemask์™€ maxnode๋กœ ์ง€์ •ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„์˜ ์ผ๋ถ€ ๋‚ด์ง€ ์ „์ฒด๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ฐ–์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
EINVAL
mode๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค. ๋˜๋Š” mode๊ฐ€ MPOL_DEFAULT์ด๊ณ  nodemask๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š๊ฑฐ๋‚˜, mode๊ฐ€ MPOL_BIND๋‚˜ MPOL_INTERLEAVE์ด๊ณ  nodemask๊ฐ€ ๋น„์–ด ์žˆ๋‹ค. ๋˜๋Š” maxnode๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๋น„ํŠธ๋“ค์ด ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋„˜๋Š”๋‹ค. ๋˜๋Š” ์ง€์›ํ•˜๋Š” ๊ฐ€์žฅ ํฐ ๋…ธ๋“œ ID๋ณด๋‹ค ํฐ ๋…ธ๋“œ ID๋ฅผ nodemask์— ํ•œ ๊ฐœ ์ด์ƒ ์ง€์ •ํ–ˆ๋‹ค. ๋˜๋Š” nodemask๋กœ ์ง€์ •ํ•œ ๋…ธ๋“œ ID๋“ค ์ค‘์—์„œ ์˜จ๋ผ์ธ์ด๊ณ  ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ cpuset ๋ฌธ๋งฅ์—์„œ ํ—ˆ์šฉ๋˜๋Š” ๊ฒŒ ์—†๊ฑฐ๋‚˜, ์ง€์ •ํ•œ ๋…ธ๋“œ๋“ค ์ค‘์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒŒ ์—†๋‹ค. ๋˜๋Š” mode ์ธ์ž์— MPOL_F_STATIC_NODES์™€ MPOL_F_RELATIVE_NODES๋ฅผ ํ•จ๊ป˜ ์ง€์ •ํ–ˆ๋‹ค.
ENOMEM
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค.

VERSIONS

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฒ„์ „ 2.6.7์—์„œ set_mempolicy() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

CONFORMING TO

์ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ๋ฆฌ๋ˆ…์Šค ์ „์šฉ์ด๋‹ค.

NOTES

ํŽ˜์ด์ง€๋ฅผ ์Šค์™‘์œผ๋กœ ๋‚ด๋ณด๋‚ผ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…์„ ๊ธฐ์–ตํ•ด ๋‘์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ํŽ˜์ด์ง€๋ฅผ ๋˜๋Œ๋ฆด ๋•Œ๋Š” ํŽ˜์ด์ง€ ํ• ๋‹น ์‹œ์ ์— ์ ์šฉ ์ค‘์ธ ์Šค๋ ˆ๋“œ ๋‚ด์ง€ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง€์›์— ๋Œ€ํ•œ ์ •๋ณด๋Š” numa(7)๋ฅผ ๋ณด๋ผ.

SEE ALSO

get_mempolicy(2), getcpu(2), mbind(2), mmap(2), numa(3), cpuset(7), numa(7), numactl(8)


2017-09-15

โš ๏ธ **GitHub.com Fallback** โš ๏ธ