OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / set_mempolicy.2
index 3d0f9f7..17758d0 100644 (file)
 .\" Updated 2008-09-02, Akihiro MOTOKI, LDP v3.08
 .\" Updated 2008-11-19, Akihiro MOTOKI, LDP v3.13
 .\"
-.TH SET_MEMPOLICY 2 2008\-08\-15 Linux "Linux Programmer's Manual"
+.TH SET_MEMPOLICY 2 2014\-05\-28 Linux "Linux Programmer's Manual"
 .SH 名前
-set_mempolicy \- プロセスとその子プロセスの NUMA メモリの デフォルトポリシーを設定する
+set_mempolicy \- ã\83\97ã\83­ã\82»ã\82¹ã\81¨ã\81\9dã\81®å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81® NUMA ã\83¡ã\83¢ã\83ªã\83¼ã\81® ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\9dã\83ªã\82·ã\83¼ã\82\92設å®\9aã\81\99ã\82\8b
 .SH 書式
 .nf
 \fB#include <numaif.h>\fP
 .sp
-\fBint set_mempolicy(int \fP\fImode\fP\fB, unsigned long *\fP\fInodemask\fP\fB,\fP
-\fB                  unsigned long \fP\fImaxnode\fP\fB);\fP
+\fBlong set_mempolicy(int \fP\fImode\fP\fB, const unsigned long *\fP\fInodemask\fP\fB,\fP
+\fB                   unsigned long \fP\fImaxnode\fP\fB);\fP
 .sp
 \fI\-lnuma\fP でリンクする。
 .fi
@@ -55,16 +55,17 @@ set_mempolicy \- プロセスとその子プロセスの NUMA メモリの デ
 ポリシーはポリシーモードと 0 個以上のノードから構成され、 設定内容は引き数 \fImode\fP, \fInodemask\fP, \fImaxnode\fP
 により指定される。
 
-NUMA (é\9d\9e対称ã\83¡ã\83¢ã\83ªã\82¢ã\82¯ã\82»ã\82¹) ã\83\9eã\82·ã\83³ã\81§ã\81¯ã\80\81CPU ã\81«ã\82\88ã\82\8a ã\83¡ã\83¢ã\83ªã\82³ã\83³ã\83\88ã\83­ã\83¼ã\83©が異なり、距離も異なっている。
\83¡ã\83¢ã\83ªã\83\9dã\83ªã\82·ã\83¼ã\81¯ã\80\81ã\81©ã\81®ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89ã\83¡ã\83¢ã\83ªをそのプロセスに 割り当てるかを定めるものである。
+NUMA (é\9d\9e対称ã\83¡ã\83¢ã\83ªã\83¼ã\82¢ã\82¯ã\82»ã\82¹) ã\83\9eã\82·ã\83³ã\81§ã\81¯ã\80\81CPU ã\81«ã\82\88ã\82\8a ã\83¡ã\83¢ã\83ªã\83¼ã\82³ã\83³ã\83\88ã\83­ã\83¼ã\83©ã\83¼が異なり、距離も異なっている。
\83¡ã\83¢ã\83ªã\83¼ã\83\9dã\83ªã\82·ã\83¼ã\81¯ã\80\81ã\81©ã\81®ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89ã\83¡ã\83¢ã\83ªã\83¼をそのプロセスに 割り当てるかを定めるものである。
 
 \fBset_mempolicy\fP()  は、プロセスのデフォルトポリシーを定める。 プロセスのポリシーは、 \fBmbind\fP(2)
-で設定される特定のポリシーにより制御されるメモリ領域以外の プロセスのアドレス空間におけるページの割り当てに適用される。
+で設定される特定のポリシーにより制御されるメモリ領域以外の プロセスのアドレス空間におけるページの割り当てに適用される。
 プロセスのデフォルトポリシーは、 \fBMAP_PRIVATE\fP フラグを指定した \fBmmap\fP(2)
-を使ってマップされたメモリマップ・ファイルに対する読み出し専用 (ロードされるだけ) のページの割り当てにも適用される。 また、
-\fBMAP_SHARED\fP フラグを指定した \fBmmap\fP(2)  を使ってマップされたメモリマップ・ファイルに対するページの割り当てにも 適用される
-(この場合はページのアクセス種別に関わらず適用される) 。 設定したポリシーは、プロセスに新規のページが割り当てられるときにのみ 適用される。無名メモリ
-(anonymous memory) の場合、新規ページの割り当ては アプリケーションが初めてページにアクセスした際に行われる。
+を使ってマップされたメモリーマップファイルに対する読み出し専用 (ロードされるだけ) のページの割り当てにも適用される。 また、
+\fBMAP_SHARED\fP フラグを指定した \fBmmap\fP(2)  を使ってマップされたメモリーマップファイルに対するページの割り当てにも 適用される
+(この場合はページのアクセス種別に関わらず適用される) 。 設定したポリシーは、プロセスに新規のページが割り当てられるときにのみ
+適用される。無名メモリー (anonymous memory) の場合、新規ページの割り当ては
+アプリケーションが初めてページにアクセスした際に行われる。
 
 \fImode\fP 引き数には \fBMPOL_DEFAULT\fP, \fBMPOL_BIND\fP, \fBMPOL_INTERLEAVE\fP,
 \fBMPOL_PREFERRED\fP のいずれか一つを指定してしなければならない。 \fBMPOL_DEFAULT\fP 以外のポリシーの場合、呼び出し元は
@@ -86,22 +87,22 @@ NULL 値の \fInodemask\fP もしくは値が 0 の \fImaxnode\fP はノード
 \fInodemask\fP 引き数は無視される。
 
 \fInodemask\fP が必須の場面では、 \fInodemask\fP に、オンラインで、そのプロセスの現在の CPU 集合コンテキストで 許可されており
-(\fBMPOL_F_STATIC_NODES\fP モードフラグが指定されていない場合)、メモリがあるノードが 少なくとも一つ入っていなければならない。
+(\fBMPOL_F_STATIC_NODES\fP ã\83¢ã\83¼ã\83\89ã\83\95ã\83©ã\82°ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88\80\81ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81\82ã\82\8bã\83\8eã\83¼ã\83\89ã\81\8c å°\91ã\81ªã\81\8fã\81¨ã\82\82ä¸\80ã\81¤å\85¥ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 \fImode\fP に \fBMPOL_F_STATIC_NODES\fP がセットされ、 \fInodemask\fP が必須の場面で、 \fInodemask\fP
-に、そのプロセスの現在の CPU 集合コンテキストで許可されたノードが 一つも含まれていない場合には、メモリのポリシーとしてデフォルトの
\81«ã\80\81ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81®ç\8f¾å\9c¨ã\81® CPU é\9b\86å\90\88ã\82³ã\83³ã\83\86ã\82­ã\82¹ã\83\88ã\81§è¨±å\8f¯ã\81\95ã\82\8cã\81\9fã\83\8eã\83¼ã\83\89ã\81\8c ä¸\80ã\81¤ã\82\82å\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\81«ã\81¯ã\80\81ã\83¡ã\83¢ã\83ªã\83¼ã\81®ã\83\9dã\83ªã\82·ã\83¼ã\81¨ã\81\97ã\81¦ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®
 「ローカルから割り当て (local allocation)」が適用される。 そのプロセスの CPU 集合コンテキストが \fInodemask\fP
 で指定されたノードを少なくとも一つ含むようになるまでは、 結果的に指定された動作が上書きされることになる。
 
-\fBMPOL_DEFAULT\fP モードは、デフォルトではないプロセスのメモリポリシーを削除することを
-指定するものである。これにより、メモリポリシーはシステムの デフォルトポリシーに「戻る」ことになる。
-システムのデフォルトポリシーは「ローカルからの割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU
-のノードのメモリが割り当てられる。 \fInodemask\fP には NULL を指定しなければならない。 「自ノード (local
-node)ã\80\8dã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\81\8cå\85¨ã\81\8fã\81ªã\81\84å ´å\90\88ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81¯ ã\80\8cè¿\91ã\81\8fã\81® (near by) ã\83\8eã\83¼ã\83\89ã\80\8dã\81\8bã\82\89ã\83¡ã\83¢ã\83ªを割り当てようと試みる。
+\fBMPOL_DEFAULT\fP ã\83¢ã\83¼ã\83\89ã\81¯ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\81ªã\81\84ã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\9dã\83ªã\82·ã\83¼ã\82\92å\89\8aé\99¤ã\81\99ã\82\8bã\81\93ã\81¨ã\82\92
\8c\87å®\9aã\81\99ã\82\8bã\82\82ã\81®ã\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\82\8cã\81«ã\82\88ã\82\8aã\80\81ã\83¡ã\83¢ã\83ªã\83¼ã\83\9dã\83ªã\82·ã\83¼ã\81¯ã\82·ã\82¹ã\83\86ã\83 ã\81® ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\9dã\83ªã\82·ã\83¼ã\81«ã\80\8cæ\88»ã\82\8bã\80\8dã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
+システムのデフォルトポリシーは「ローカルからの割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU
\81®ã\83\8eã\83¼ã\83\89ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cå\89²ã\82\8aå½\93ã\81¦ã\82\89ã\82\8cã\82\8bã\80\82 \fInodemask\fP ã\81«ã\81¯ NULL ã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 ã\80\8cè\87ªã\83\8eã\83¼ã\83\89 (local
+node)ã\80\8dã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\83¼ã\81\8cå\85¨ã\81\8fã\81ªã\81\84å ´å\90\88ã\80\81ã\82·ã\82¹ã\83\86ã\83 ã\81¯ ã\80\8cè¿\91ã\81\8fã\81® (near by) ã\83\8eã\83¼ã\83\89ã\80\8dã\81\8bã\82\89ã\83¡ã\83¢ã\83ªã\83¼を割り当てようと試みる。
 
-\fBMPOL_BIND\fP モードは厳密なポリシーで、メモリ割り当ては \fInodemask\fP に指定されたノードに限定される。 \fInodemask\fP
+\fBMPOL_BIND\fP モードは厳密なポリシーで、メモリ割り当ては \fInodemask\fP に指定されたノードに限定される。 \fInodemask\fP
 に 2 個以上のノードが指定された場合、ページの割り当ては ノード ID が数字として最小のノードから開始され、
\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\81\8cã\81ªã\81\8fã\81ªã\82\8bã\81¾ã\81§ã\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89 ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\81\8cè¡\8cã\82\8fã\82\8cã\82\8bã\80\82ã\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªがなくなったら、 次に小さなノード ID
-を持つノードからページ割り当てが行われる。 これを、 \fInodemask\fP で指定された全てのノードで空きメモリがなくなるまで繰り返す。
\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\8fã\81ªã\82\8bã\81¾ã\81§ã\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89 ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\81\8cè¡\8cã\82\8fã\82\8cã\82\8bã\80\82ã\81\9dã\81®ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\83¼がなくなったら、 次に小さなノード ID
\82\92æ\8c\81ã\81¤ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\81\8cè¡\8cã\82\8fã\82\8cã\82\8bã\80\82 ã\81\93ã\82\8cã\82\92ã\80\81 \fInodemask\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\85¨ã\81¦ã\81®ã\83\8eã\83¼ã\83\89ã\81§ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\8fã\81ªã\82\8bã\81¾ã\81§ç¹°ã\82\8aè¿\94ã\81\99ã\80\82
 \fInodemask\fP で指定された以外のノードからはページの割り当ては行われない。
 
 .\" NOTE:  the following sentence doesn't make sense in the context
@@ -109,47 +110,47 @@ node)」に空きメモリが全くない場合、システムは 「近くの (
 .\" To be effective the memory area should be fairly large,
 .\" at least 1MB or bigger.
 \fBMPOL_INTERLEAVE\fP では、ページ割り当てを \fInodemask\fP に指定されたノードの間でノード ID の数字順で交互に行う。
-このポリシーでは、複数のノードにページを広げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、帯域を最適化する。
-ただし、一つのページへのアクセスに関しては依然として一つのノードのメモリ帯域 が上限となる。
+このポリシーでは、複数のノードにページを広げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、帯域を最適化する。
+ただし、一つのページへのアクセスに関しては依然として一つのノードのメモリ帯域 が上限となる。
 
 \fBMPOL_PREFERRED\fP は、割り当て時に優先されるノード (preferred node) を設定する。
\82«ã\83¼ã\83\8dã\83«ã\81¯ã\81¾ã\81\9aå\84ªå\85\88ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\82\92è¡\8cã\81\8aã\81\86ã\81¨ã\81\97ã\80\81 å\84ªå\85\88ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\81\8cå°\91ã\81ªã\81\84å ´å\90\88ã\81«ã\80\8cè¿\91ã\81\8fã\81® (near by)ã\80\8dã\83\8eã\83¼ã\83\89ã\81\8bã\82\89 å\89²ã\82\8aå½\93ã\81¦ã\82\92è¡\8cã\81\86ã\80\82
-\fInodemask\fP に複数のノード ID が指定された場合は、 \fInodemask\fP 内の最初のノードが優先ノードとして選択される。 引き数
-\fInodemask\fP, \fImaxnode\fP で空集合が指定された場合は、ポリシーは (上述のシステムの デフォルトポリシーと同様に)
-「ローカルからの割り当て」となる。
\82«ã\83¼ã\83\8dã\83«ã\81¯ã\81¾ã\81\9aå\84ªå\85\88ã\83\8eã\83¼ã\83\89ã\81\8bã\82\89ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\82\92è¡\8cã\81\8aã\81\86ã\81¨ã\81\97ã\80\81 å\84ªå\85\88ã\83\8eã\83¼ã\83\89ã\81«ç©ºã\81\8dã\83¡ã\83¢ã\83ªã\83¼ã\81\8cå°\91ã\81ªã\81\84å ´å\90\88ã\81«ã\80\8cè¿\91ã\81\8fã\81® (near by)ã\80\8dã\83\8eã\83¼ã\83\89ã\81\8bã\82\89
+割り当てを行う。 \fInodemask\fP に複数のノード ID が指定された場合は、 \fInodemask\fP
+内の最初のノードが優先ノードとして選択される。 引き数 \fInodemask\fP, \fImaxnode\fP で空集合が指定された場合は、ポリシーは
+(上述のシステムの デフォルトポリシーと同様に) 「ローカルからの割り当て」となる。
 
-プロセスのメモリポリシーは \fBexecve\fP(2)  の前後で保持され、 \fBfork\fP(2)  や \fBclone\fP(2)
\83\97ã\83­ã\82»ã\82¹ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\9dã\83ªã\82·ã\83¼ã\81¯ \fBexecve\fP(2)  ã\81®å\89\8då¾\8cã\81§ä¿\9dæ\8c\81ã\81\95ã\82\8cã\80\81 \fBfork\fP(2)  ã\82\84 \fBclone\fP(2)
 を使って作成された子プロセスに継承される。
 .SH 返り値
 成功すると、 \fBset_mempolicy\fP()  は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
 .SH エラー
 .TP 
 \fBEFAULT\fP
-\fInodemask\fP と \fImaxnode\fP で指定されたメモリ領域の一部または全部が、 呼び出し元がアクセス可能なアドレス空間外を指している。
+\fInodemask\fP と \fImaxnode\fP で指定されたメモリ領域の一部または全部が、 呼び出し元がアクセス可能なアドレス空間外を指している。
 .TP 
 \fBEINVAL\fP
 \fImode\fP が不正である。 \fImode\fP が \fBMPOL_DEFAULT\fP で、 \fInodemask\fP が空ではない。 \fImode\fP が
 \fBMPOL_BIND\fP か \fBMPOL_INTERLEAVE\fP で、 \fInodemask\fP が空である。 \fImaxnode\fP
 で実際に意味があるビット数より多くのビット数が指定された。 \fInodemask\fP に、サポートされている最大ノード ID
 より大きいノードが指定された。 \fInodemask\fP に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキストで
-許可されているノードが一つも含まれていないか、 メモリを含むノードが一つも指定されていない。 \fImode\fP 引き数に
+許å\8f¯ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83\8eã\83¼ã\83\89ã\81\8cä¸\80ã\81¤ã\82\82å\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\81\8bã\80\81 ã\83¡ã\83¢ã\83ªã\83¼ã\82\92å\90«ã\82\80ã\83\8eã\83¼ã\83\89ã\81\8cä¸\80ã\81¤ã\82\82æ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82 \fImode\fP å¼\95ã\81\8dæ\95°ã\81«
 \fBMPOL_F_STATIC_NODES\fP と \fBMPOL_F_RELATIVE_NODES\fP の両方が指定された。
 .TP 
 \fBENOMEM\fP
-利用可能なカーネルメモリが十分でなかった。
\88©ç\94¨å\8f¯è\83½ã\81ªã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cå\8d\81å\88\86ã\81§ã\81ªã\81\8bã\81£ã\81\9fã\80\82
 .SH バージョン
 \fBset_mempolicy\fP()  システムコールはバージョン 2.6.7 で Linux カーネルに追加された。
 .SH 準拠
 このシステムコールは Linux 固有である。
 .SH 注意
\83\9aã\83¼ã\82¸ã\81\8cã\82¹ã\83¯ã\83\83ã\83\97ã\83»ã\82¢ã\82¦ã\83\88ã\81\95ã\82\8cã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81 ã\83\97ã\83­ã\82»ã\82¹ã\83\9dã\83ªã\82·ã\83¼ã\81®è¨­å®\9aã\81¯æ\8e¨å¥¨ã\81\95ã\82\8cã\81ªã\81\84ã\80\82 ã\82¹ã\83¯ã\83\83ã\83\97ã\83»ã\82¢ã\82¦ã\83\88ã\81\95ã\82\8cã\81\9fã\83\9aã\83¼ã\82¸ã\81\8cã\83\9aã\83¼ã\82¸ã\83»インする際にも、
-ページ割り当て時に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。
\83\9aã\83¼ã\82¸ã\81\8cã\82¹ã\83¯ã\83\83ã\83\97ã\82¢ã\82¦ã\83\88ã\81\95ã\82\8cã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81 ã\83\97ã\83­ã\82»ã\82¹ã\83\9dã\83ªã\82·ã\83¼ã\81®è¨­å®\9aã\81¯æ\8e¨å¥¨ã\81\95ã\82\8cã\81ªã\81\84ã\80\82 ã\82¹ã\83¯ã\83\83ã\83\97ã\82¢ã\82¦ã\83\88ã\81\95ã\82\8cã\81\9fã\83\9aã\83¼ã\82¸ã\81\8cã\83\9aã\83¼ã\82¸インする際にも、
+ページ割り当て時に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。
 
 ライブラリによるサポートについては \fBnuma\fP(7)  を参照。
 .SH 関連項目
 \fBget_mempolicy\fP(2), \fBgetcpu\fP(2), \fBmbind\fP(2), \fBmmap\fP(2), \fBnuma\fP(3),
 \fBcpuset\fP(7), \fBnuma\fP(7), \fBnumactl\fP(8)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。