.\"
.TH NUMA 7 2012\-08\-05 Linux "Linux Programmer's Manual"
.SH 名前
-numa \- é\9d\9e対称å\9e\8bã\83¡ã\83¢ã\83ªã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£の概要
+numa \- é\9d\9e対称å\9e\8bã\83¡ã\83¢ã\83ªã\83¼ã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼の概要
.SH 説明
-非対称型メモリアクセス (Non\-Uniform Memory Access; NUMA) は、
-ã\83¡ã\83¢ã\83ªã\81\8cè¤\87æ\95°ã\81®ã\83¡ã\83¢ã\83ªノードに分割されているマルチプロセッサシステム
-のことである。メモリノードへのアクセス時間は、アクセス元の CPU と
+é\9d\9e対称å\9e\8bã\83¡ã\83¢ã\83ªã\83¼ã\82¢ã\82¯ã\82»ã\82¹ (Non\-Uniform Memory Access; NUMA) ã\81¯ã\80\81
+ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cè¤\87æ\95°ã\81®ã\83¡ã\83¢ã\83ªã\83¼ノードに分割されているマルチプロセッサシステム
+ã\81®ã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82ã\83¡ã\83¢ã\83ªã\83¼ã\83\8eã\83¼ã\83\89ã\81¸ã\81®ã\82¢ã\82¯ã\82»ã\82¹æ\99\82é\96\93ã\81¯ã\80\81ã\82¢ã\82¯ã\82»ã\82¹å\85\83ã\81® CPU ã\81¨
アクセス先のノードの相対的な位置関係に依存する
(これに対し、対称型マルチプロセッサシステムでは、どの CPU から
-どのメモリへのアクセス時間も同じである)。
-通常は、 NUMA システムの各 CPU にはローカルのメモリノードがあり、
-そのメモリノードには、他の CPU のローカルノードや全ての CPU で
-共有されるバス上のメモリよりも早くアクセスすることができる。
+ã\81©ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\81¸ã\81®ã\82¢ã\82¯ã\82»ã\82¹æ\99\82é\96\93ã\82\82å\90\8cã\81\98ã\81§ã\81\82ã\82\8b)ã\80\82
+é\80\9a常ã\81¯ã\80\81 NUMA ã\82·ã\82¹ã\83\86ã\83 ã\81®å\90\84 CPU ã\81«ã\81¯ã\83ã\83¼ã\82«ã\83«ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\8eã\83¼ã\83\89ã\81\8cã\81\82ã\82\8aã\80\81
+ã\81\9dã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\8eã\83¼ã\83\89ã\81«ã\81¯ã\80\81ä»\96ã\81® CPU ã\81®ã\83ã\83¼ã\82«ã\83«ã\83\8eã\83¼ã\83\89ã\82\84å\85¨ã\81¦ã\81® CPU ã\81§
+å\85±æ\9c\89ã\81\95ã\82\8cã\82\8bã\83\90ã\82¹ä¸\8aã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\82\88ã\82\8aã\82\82æ\97©ã\81\8fã\82¢ã\82¯ã\82»ã\82¹ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
.SS "NUMA システムコール"
Linux カーネルには、次に示す NUMA 関連のシステムコールが実装されている:
\fBget_mempolicy\fP(2), \fBmbind\fP(2), \fBmigrate_pages\fP(2),
を使用すべきである。下記の「ライブラリによるサポート」を参照。
.SS "/proc/[number]/numa_maps (Linux 2.6.14 以降)"
.\" See also Changelog-2.6.14
-このファイルは、プロセスの NUMA メモリポリシーと割り当てに関する
+ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\81ã\83\97ã\83ã\82»ã\82¹ã\81® NUMA ã\83¡ã\83¢ã\83ªã\83¼ã\83\9dã\83ªã\82·ã\83¼ã\81¨å\89²ã\82\8aå½\93ã\81¦ã\81«é\96¢ã\81\99ã\82\8b
情報を表示する。
-各行に、そのプロセスが使用しているメモリ領域に関する情報が表示される。その他の情報 \(em
-そのメモリ領域に適用されているメモリポリシーや、そのページがどのノード上に割り当てられているか、など \(em もあわせて表示される。
+各行に、そのプロセスが使用しているメモリー領域に関する情報が表示される。その他の情報 \(em
+そのメモリー領域に適用されているメモリーポリシーや、そのページがどのノード上に割り当てられているか、など \(em もあわせて表示される。
\fInuma_maps\fP は読み出し専用のファイルである。 \fI/proc/<pid>/numa_maps\fP から読み出しが行われると、
-カーネルはそのプロセスの仮想アドレス空間をスキャンし、 メモリの使用状況を報告する。
-プロセスのメモリ領域の情報が 1 行に 1 領域で表示される。
+ã\82«ã\83¼ã\83\8dã\83«ã\81¯ã\81\9dã\81®ã\83\97ã\83ã\82»ã\82¹ã\81®ä»®æ\83³ã\82¢ã\83\89ã\83¬ã\82¹ç©ºé\96\93ã\82\92ã\82¹ã\82ã\83£ã\83³ã\81\97ã\80\81 ã\83¡ã\83¢ã\83ªã\83¼ã\81®ä½¿ç\94¨ç\8a¶æ³\81ã\82\92å ±å\91\8aã\81\99ã\82\8bã\80\82
+プロセスのメモリー領域の情報が 1 行に 1 領域で表示される。
-各行の最初のフィールドはメモリ領域の開始アドレスを示す。 このフィールドは \fI/proc/<pid>/maps\fP
+各行の最初のフィールドはメモリー領域の開始アドレスを示す。 このフィールドは \fI/proc/<pid>/maps\fP
ファイルの内容と対応している。 \fI/proc/<pid>/maps\fP
-には、メモリ領域の末尾のアドレスや、アクセス許可や共有といった他の情報も含まれる。
+には、メモリー領域の末尾のアドレスや、アクセス許可や共有といった他の情報も含まれる。
-2 番目のフィールドは、 そのメモリ領域に現在適用されているメモリポリシーを示す。 適用されているポリシーは、
-必ずしもそのプロセスがこのメモリ領域に対して設定したポリシーとは限らない点に注意すること。
+2 番目のフィールドは、 そのメモリー領域に現在適用されているメモリーポリシーを示す。 適用されているポリシーは、
+必ずしもそのプロセスがこのメモリー領域に対して設定したポリシーとは限らない点に注意すること。
特に、
プロセスがその領域に対して「デフォルト」ポリシーを設定した場合、その領域に適用されるポリシーはプロセスのポリシーとなり、それが「デフォルト」ポリシーとなる場合もあればそうでない場合もある。
-行の残りの部分には、そのメモリ領域に割り当てられたページに関する情報が入る。以下に詳細を示す。
+行の残りの部分には、そのメモリー領域に割り当てられたページに関する情報が入る。以下に詳細を示す。
.TP
\fIN<node>=<nr_pages>\fP
\fI<node>\fP に割り当てられているページ数。 \fI<nr_pages>\fP には、
-ã\81\9dã\81®ã\83\97ã\83ã\82»ã\82¹ã\81\8cç\8f¾å\9c¨ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\97ã\81¦ã\81\84ã\82\8bã\83\9aã\83¼ã\82¸ã\81 ã\81\91ã\81\8cå\90«ã\81¾ã\82\8cã\82\8bã\80\82 ã\83\9aã\83¼ã\82¸ã\81®ç§»å\8b\95ã\82\84ã\83¡ã\83¢ã\83ªã\81®å\86\8då\88©ç\94¨ã\81«ã\82\88ã\82\8aã\80\81 ã\81\93ã\81®ã\83¡ã\83¢ã\83ª領域に関連付けられているが、
+ã\81\9dã\81®ã\83\97ã\83ã\82»ã\82¹ã\81\8cç\8f¾å\9c¨ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\97ã\81¦ã\81\84ã\82\8bã\83\9aã\83¼ã\82¸ã\81 ã\81\91ã\81\8cå\90«ã\81¾ã\82\8cã\82\8bã\80\82 ã\83\9aã\83¼ã\82¸ã\81®ç§»å\8b\95ã\82\84ã\83¡ã\83¢ã\83ªã\83¼ã\81®å\86\8då\88©ç\94¨ã\81«ã\82\88ã\82\8aã\80\81 ã\81\93ã\81®ã\83¡ã\83¢ã\83ªã\83¼領域に関連付けられているが、
一時的にマッピングされていないページが存在する場合がある。 プロセスがそれらのページを参照しようとした後には、 これらのページは再び現れる可能性がある。
-メモリ領域が共有メモリやファイルマッピングの場合には、 そのメモリ領域内に別のページを他のプロセスがマッピングしている場合もある。
+メモリー領域が共有メモリーやファイルマッピングの場合には、 そのメモリー領域内に別のページを他のプロセスがマッピングしている場合もある。
.TP
\fIfile=<filename>\fP
-そのメモリ領域に関連付けられているファイル。 ファイルがプライベート (非公開) でマッピングされている場合、 書き込みアクセスがあると、
-このメモリ領域に書き込み時コピー (Copy\-On\-Write) ページが生成されることがある。 これらのページは無名ページ (anonymous
+そのメモリー領域に関連付けられているファイル。 ファイルがプライベート (非公開) でマッピングされている場合、 書き込みアクセスがあると、
+このメモリー領域に書き込み時コピー (Copy\-On\-Write) ページが生成されることがある。 これらのページは無名ページ (anonymous
page) として表示される。
.TP
\fIheap\fP
-ヒープに使用されているメモリ範囲。
+ヒープに使用されているメモリー範囲。
.TP
\fIstack\fP
-スタックに使用されているメモリ範囲。
+スタックに使用されているメモリー範囲。
.TP
\fIhuge\fP
-ヒュージメモリの範囲。表示されるページ数は、
+ã\83\92ã\83¥ã\83¼ã\82¸ã\83¡ã\83¢ã\83ªã\83¼ã\81®ç¯\84å\9b²ã\80\82表示ã\81\95ã\82\8cã\82\8bã\83\9aã\83¼ã\82¸æ\95°ã\81¯ã\80\81
通常の大きさのページではなく、ヒュージページの数である。
.TP
\fIanon=<pages>\fP
-メモリ範囲内の無名ページ (anonymous page) の数。
+メモリー範囲内の無名ページ (anonymous page) の数。
.TP
\fIdirty=<pages>\fP
dirty (変更された) ページの数。
.TP
\fImapmax=<count>\fP
スキャン中に検出した mapcount (一つのページをマッピングしているプロセス数) の最大値。 この値は、
-そのメモリ領域でどの程度の共有が行われているかの指標として使うことができる。
+そのメモリー領域でどの程度の共有が行われているかの指標として使うことができる。
.TP
\fIswapcache=<count>\fP
スワップデバイスに対応するエントリーが存在するページ数。
.TP
\fIactive=<pages>\fP
アクティブリストに入っているページ数。 このフィールドが表示されるのは、
-値がこのメモリ領域のページ数と異なる場合だけである。このフィールドが表示されるということは、 このメモリ領域に、まもなくスワッパ (swapper)
+値がこのメモリー領域のページ数と異なる場合だけである。このフィールドが表示されるということは、 このメモリー領域に、まもなくスワッパ (swapper)
によりこの領域から削除される可能性がある inactive なページが存在することを意味する。
.TP
\fIwriteback=<pages>\fP
可能である。
.SS ライブラリによるサポート
システムコールの定義を得るには \fI\-lnuma\fP でリンクすること。
-\fIlibnuma\fP と必要なヘッダファイル \fI<numaif.h>\fP は
+\fIlibnuma\fP ã\81¨å¿\85è¦\81ã\81ªã\83\98ã\83\83ã\83\80ã\83¼ã\83\95ã\82¡ã\82¤ã\83« \fI<numaif.h>\fP ã\81¯
\fInumactl\fP パッケージで提供されている。
ただし、アプリケーションはこれらのシステムコールを直接利用すべきでない。
.UE
で入手できる。
このパッケージが収録されている Linux ディストリビューションもある。
-ディストリビューションによっては、開発用のライブラリとヘッダファイルは
+ã\83\87ã\82£ã\82¹ã\83\88ã\83ªã\83\93ã\83¥ã\83¼ã\82·ã\83§ã\83³ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81é\96\8bç\99ºç\94¨ã\81®ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81¨ã\83\98ã\83\83ã\83\80ã\83¼ã\83\95ã\82¡ã\82¤ã\83«ã\81¯
別パッケージ \fInumactl\-devel\fP で提供されている。
.SH 関連項目
\fBget_mempolicy\fP(2), \fBmbind\fP(2), \fBmove_pages\fP(2), \fBset_mempolicy\fP(2),