set_mempolicy

Autres langues

Langue: ja

Autres versions - même langue

Version: 2006-02-07 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

set_mempolicy - ¥×¥í¥»¥¹¤È¤½¤Î»Ò¥×¥í¥»¥¹¤Î NUMA ¥á¥â¥ê¤Î ¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë

½ñ¼°


#include <numaif.h>



int set_mempolicy(int policy, unsigned long *nodemask,

                  unsigned long maxnode);

ÀâÌÀ

set_mempolicy() ¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î NUMA ¥Ý¥ê¥·¡¼¤ò policy ¤ËÀßÄꤹ¤ë¡£

NUMA (ÈóÂоΥá¥â¥ê¥¢¥¯¥»¥¹) ¥Þ¥·¥ó¤Ç¤Ï¡¢CPU ¤Ë¤è¤ê ¥á¥â¥ê¥³¥ó¥È¥í¡¼¥é¤¬°Û¤Ê¤ê¡¢µ÷Î¥¤â°Û¤Ê¤Ã¤Æ¤¤¤ë¡£ ¥á¥â¥ê¥Ý¥ê¥·¡¼¤Ï¡¢¤É¤Î¥Î¡¼¥É¤Î¥á¥â¥ê¤ò¤½¤Î¥×¥í¥»¥¹¤Ë ³ä¤êÅö¤Æ¤é¤ì¤ë¤«¤òÄê¤á¤ë¤â¤Î¤Ç¤¢¤ë¡£

set_mempolicy() ¤Ï¡¢¥×¥í¥»¥¹¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼¤òÄê¤á¤ë¡£ ¤µ¤é¤Ë¡¢ mbind(2) ¤ò»È¤Ã¤Æ¡¢ÆÃÄê¤Î¥á¥â¥êÎΰè¤ËÂФ·¤Æ¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ÀßÄꤷ¤¿¥Ý¥ê¥·¡¼¤Ï¡¢¥×¥í¥»¥¹¤Ë¿·µ¬¤Î¥Ú¡¼¥¸¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¤È¤­¤Ë¤Î¤ß ŬÍѤµ¤ì¤ë¡£ÌµÌ¾¥á¥â¥ê (anonymous memory) ¤Î¾ì¹ç¡¢¿·µ¬¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤Ï ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬½é¤á¤Æ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤·¤¿ºÝ¤Ë¹Ô¤ï¤ì¤ë¡£

»ØÄê²Äǽ¤Ê¥Ý¥ê¥·¡¼¤Ï MPOL_DEFAULT, MPOL_BIND, MPOL_INTERLEAVE, MPOL_PREFERRED ¤Ç¤¢¤ë¡£ MPOL_DEFAULT °Ê³°¤Î¥Ý¥ê¥·¡¼¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¸µ¤¬ nodemask ¥Ñ¥é¥á¡¼¥¿¤Ç¥Ý¥ê¥·¡¼¤òŬÍѤ¹¤ë¥Î¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£ nodemask ¤Ï¥Î¡¼¥É¤òɽ¤¹¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢ maxnode ¸Ä¤Î¥Ó¥Ã¥È¤«¤é¹½À®¤µ¤ì¤ë¡£ ¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ÎÂ礭¤µ¤Ï¡¢Ä¾¶á¤Î sizeof(unsigned long) ¤ÎÇÜ¿ô¤ËÀÚ¤ê¾å¤²¤é¤ì¤ë¤¬¡¢¥«¡¼¥Í¥ë¤¬»ÈÍѤ¹¤ë¤Î¤Ï maxnode ¸Ä¤Þ¤Ç¤Î¥Ó¥Ã¥È¤À¤±¤Ç¤¢¤ë¡£

MPOL_DEFAULT ¥Ý¥ê¥·¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¢¤ê¡¢¤³¤ì¤ò»ØÄꤹ¤ë¤È¥í¡¼¥«¥ë¤Î¥á¥â¥ê¤¬ ³ä¤êÅö¤Æ¤é¤ì¤ë¡¢¤Ä¤Þ¤ê¥á¥â¥ê³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿ CPU ¤Î ¥Î¡¼¥É¤Ë¥á¥â¥ê¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¡£ nodemask ¤Ë¤Ï NULL ¤ò»ØÄꤹ¤Ù¤­¤Ç¤¢¤ë¡£

MPOL_BIND ¤Ï¸·¤·¤¤¥Ý¥ê¥·¡¼¤Ç¡¢¥á¥â¥ê³ä¤êÅö¤Æ¤Ï nodemask ¤Ë»ØÄꤵ¤ì¤¿¥Î¡¼¥É¤Ë¸ÂÄꤵ¤ì¤ë¡£ ¾¤Î¥Î¡¼¥É¤Ø¤Î³ä¤êÅö¤Æ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£

MPOL_INTERLEAVE ¤Ç¤Ï¡¢¥á¥â¥ê³ä¤êÅö¤Æ¤ò nodemask ¤Ë»ØÄꤵ¤ì¤¿¥Î¡¼¥É¤Ë¸ò¸ß¤Ë¹Ô¤¦¡£ ¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢ÃÙ±ä¤Ç¤Ï¤Ê¤¯¡¢ÂӰ褬ºÇŬ²½¤µ¤ì¤ë¡£ ¸ú²Ì¤òÆÀ¤ë¤Ë¤Ï¡¢¥á¥â¥êÎΰè¤ò¤¢¤ëÄøÅÙÂ礭¤¯¤¹¤Ù¤­¤Ç¤¢¤ê¡¢ ¾¯¤Ê¤¯¤È¤â 1MB °Ê¾åɬÍפǤ¢¤ë¡£

MPOL_PREFERRED ¤Ï¡¢³ä¤êÅö¤Æ»þ¤ËÍ¥À褵¤ì¤ë¥Î¡¼¥É¤òÀßÄꤹ¤ë¡£ ¥«¡¼¥Í¥ë¤Ï¤Þ¤ºÍ¥Àè¥Î¡¼¥É¤Ë³ä¤êÅö¤Æ¤ò¹Ô¤ª¤¦¤È¤·¡¢ Í¥Àè¥Î¡¼¥É¤Ë¶õ¤­¥á¥â¥ê¤¬¾¯¤Ê¤¤¾ì¹ç¤Ë¾¤Î¥Î¡¼¥É¤Ë³ä¤êÅö¤Æ¤ò¹Ô¤¦¡£ nodemask ¤ÎºÇ½é¤Î¥Î¡¼¥É¤À¤±¤¬»ÈÍѤµ¤ì¤ë¡£ nodemask ¤Ë¤É¤Î¥Î¡¼¥É¤â¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ (MPOL_DEFAULT ¤ÈƱ¤¸¤è¤¦¤Ë) ³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿ CPU ¤Î¥Î¡¼¥É¤Ë¥á¥â¥ê³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¡£

¥á¥â¥ê¥Ý¥ê¥·¡¼¤Ï execve(2) ¤ÎÁ°¸å¤ÇÊÝ»ý¤µ¤ì¡¢ fork(2) ¤ä clone(2) ¤ò»È¤Ã¤ÆºîÀ®¤µ¤ì¤¿»Ò¥×¥í¥»¥¹¤Ë·Ñ¾µ¤µ¤ì¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤¹¤ë¤È¡¢ set_mempolicy() ¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£

½àµò

¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£

Ãí°Õ

¥Ú¡¼¥¸¤¬¥¹¥ï¥Ã¥×¡¦¥¢¥¦¥È¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥×¥í¥»¥¹¥Ý¥ê¥·¡¼¤ÎÀßÄê¤Ï¿ä¾©¤µ¤ì¤Ê¤¤¡£

¥Ð¡¼¥¸¥ç¥ó¤È¥é¥¤¥Ö¥é¥ê¤Ç¤ÎÂбþ

mbind(2) »²¾È¡£

´ØÏ¢¹àÌÜ

mbind(2), get_mempolicy(2), numactl(8), numa(3)