msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-01 04:21+0900\n"
-"PO-Revision-Date: 2012-05-04 04:57+0900\n"
+"PO-Revision-Date: 2012-05-10 00:38+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#: build/C/man2/getcpu.2:10
msgid ""
"getcpu - determine CPU and NUMA node on which the calling thread is running"
-msgstr ""
+msgstr "getcpu - 呼び出し元スレッドが動作している CPU と NUMA ノードを判定する"
#. type: Plain text
#: build/C/man2/getcpu.2:13
"identifier identifying a NUMA node. When either I<cpu> or I<node> is NULL "
"nothing is written to the respective pointer."
msgstr ""
+"B<getcpu>() システムコールは、呼び出し元のスレッドやプロセスが\n"
+"現在動作しているプロセッサやノードの情報を特定し、\n"
+"それぞれ引き数 I<cpu> と I<node> が指す整数に書き込む。\n"
+"プロセッサ情報は CPU を識別するための一意な小さな整数である。\n"
+"ノード情報は NUMAノードを識別するための一意な小さな整数である。\n"
+"I<cpu> か I<node> のいずれかが NULL であれば、\n"
+"その引き数に対応する情報の書き込みは行われない。"
#. type: Plain text
#: build/C/man2/getcpu.2:36
msgid "The third argument to this system call is nowadays unused."
-msgstr ""
+msgstr "このシステムコールの 3 番目の引き数は現在は使われていない。"
#. type: Plain text
#: build/C/man2/getcpu.2:51
"must be prepared to handle the situation when I<cpu> and I<node> are no "
"longer the current CPU and node."
msgstr ""
+"I<cpu> に格納された情報が最新だと保証できるのは、システムコールが呼ばれ\n"
+"た時点だけである。B<sched_setaffinity>(2) を使って CPU affinity が固定\n"
+"されていない限り、カーネルはいつでも CPU を変更してもよい (スケジューラ\n"
+"はキャッシュが有効に働くように CPU の移動を最小限にしようとするので、\n"
+"通常は CPU が変更されることはないが、起きる可能性はある)。\n"
+"呼び出し元は、 I<cpu> や I<node> で得られた情報がすでに現在の CPU や\n"
+"ノードの情報とは異なっている状況を扱えるようにしておかなければならない。"
#. type: Plain text
#: build/C/man2/getcpu.2:54
msgid "B<getcpu>() was added in kernel 2.6.19 for x86_64 and i386."
-msgstr ""
+msgstr "B<getcpu>() はカーネル 2.6.19 で x86_64 と i386 向けに追加された."
#. type: Plain text
#: build/C/man2/getcpu.2:57
msgid "B<getcpu>() is Linux specific."
-msgstr ""
+msgstr "B<getcpu>() は Linux 固有である。"
#. type: Plain text
#: build/C/man2/getcpu.2:63
"of B<getcpu>() is to allow programs to make optimizations with per-CPU data "
"or for NUMA optimization."
msgstr ""
+"Linux はこのシステムコールを可能な限り早く実行しようとする。\n"
+"B<getcpu>() は、CPU 毎のデータに対する最適化や NUMA 環境での最適化を\n"
+"プログラムが行えるようにすることを目的として実装されているからである。"
#. type: Plain text
#: build/C/man2/getcpu.2:69
"Glibc does not provide a wrapper for this system call; call it using "
"B<syscall>(2); or use B<sched_getcpu>(3) instead."
msgstr ""
+"glibc はこのシステムコールに対するラッパー関数を提供していない。\n"
+"B<syscall>(2) を使って呼び出すか、\n"
+"代わりに B<sched_getcpu>(3) を使用すること。"
#. commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
#. Author: Ingo Molnar <mingo@elte.hu>
"problems when migrating threads between CPUs, and so the argument is now "
"ignored."
msgstr ""
+"I<tcache> 引き数は Linux 2.6.24 以降では使用されない。以前のバージョン\n"
+"のカーネルでは、この引き数が NULL 以外の場合、この引き数には、呼び出し\n"
+"元が割り当てたスレッド専用の記憶領域 (thread-local storage) 内のバッファ\n"
+"を指すポインタが指定され、このバッファは B<getcpu>() 用のキャッシュ機構\n"
+"を提供するために利用されていた。非常に低い確率だが古い情報を返してしま\n"
+"うデメリットはあるものの、このキャッシュを使うことで B<getcpu>() システ\n"
+"ムコールを高速化できた。このキャッシュ機構はCPU 間でのスレッドの移動時\n"
+"に問題になると考えられ、この引き数は今では無視されるようになっている。"
#. type: Plain text
#: build/C/man2/getcpu.2:126
"B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
"(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
msgstr ""
-"B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
-"(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
+"B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2),\n"
+"B<shmat>(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7),\n"
+"B<numactl>(8)"
#. type: TH
#: build/C/man2/migrate_pages.2:17
#. type: Plain text
#: build/C/man2/migrate_pages.2:20
msgid "migrate_pages - move all pages in a process to another set of nodes"
-msgstr ""
+msgstr "migrate_pages - プロセスの全ページを別のノード集合に移動する"
#. type: Plain text
#: build/C/man2/migrate_pages.2:27
"kernel maintains the relative topology relationship inside I<old_nodes> "
"during the migration to I<new_nodes>."
msgstr ""
+"B<MIGRATE_PAGES>() は、メモリノード I<old_nodes> にあるプロセス I<pid>\n"
+"の全ページを、メモリノード I<new_nodes> に移動する。I<old_nodes> で\n"
+"指定されたメモリノードに置かれていないページは移動されない。\n"
+"カーネルは、 I<new_nodes> への移動の際に、 I<old_nodes> 内の相対的な\n"
+"トポロジー関係を可能な限り維持しようとする。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:68
"I<maxnode> argument is the maximum node number in the bit mask plus one "
"(this is the same as in B<mbind>(2), but different from B<select>(2))."
msgstr ""
+"引き数 I<old_nodes> と I<new_nodes> は、最大で I<maxnode> ビットから\n"
+"構成されるノード番号のビットマスクへのポインタである。\n"
+"各ビットマスクは符号なし I<long> 整数の配列として管理される\n"
+"(I<maxnode> で指定された長さを越えた部分のビットは無視される)。\n"
+"引き数 I<maxnode> は最大ノード番号であり、ビットマスクの長さに 1 を\n"
+"加えた値となる (これは B<mbind>(2) と同じだが、 B<select>(2) とは違う)。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:82
"must match the real or saved-set user ID of the target process. If I<pid> "
"is 0, then B<migrate_pages>() moves pages of the calling process."
msgstr ""
+"引き数 I<pid> は、移動を行うページの所有者のプロセス ID である。\n"
+"別のプロセスのページを移動するには、呼び出したプロセスが特権\n"
+"(B<CAP_SYS_NICE>) を持っているか、呼び出したプロセスの実ユーザ ID か\n"
+"実効ユーザ ID がページ移動の対象プロセスの実ユーザ ID か saved-set \n"
+"ユーザ ID と一致していなければならない。I<pid> が 0 の場合、\n"
+"B<migrate_pages>() は呼び出したプロセスのページを移動する。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:87
"Pages shared with another process will only be moved if the initiating "
"process has the B<CAP_SYS_NICE> privilege."
msgstr ""
+"別のプロセスと共有しているページは、呼び出したプロセスが\n"
+"B<CAP_SYS_NICE> 特権を持っている場合にのみ移動される。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:94
"On success B<migrate_pages>() returns zero. On error, it returns -1, and "
"sets I<errno> to indicate the error."
msgstr ""
+"B<migrate_pages>() は成功すると 0 を返す。\n"
+"エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:104
"specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>) to access "
"the specified target nodes."
msgstr ""
+"I<pid> で指定されたプロセスのページを移動するのに必要な特権\n"
+"(B<CAP_SYS_NICE>) がなかった。または、指定された対象ノードにアクセス\n"
+"するのに必要な権限 (B<CAP_SYS_NICE>) がなかった。"
#. type: TP
#: build/C/man2/migrate_pages.2:104 build/C/man2/move_pages.2:187
#. type: Plain text
#: build/C/man2/migrate_pages.2:110
msgid "No process matching I<pid> could be found."
-msgstr ""
+msgstr "プロセス ID が I<pid> のプロセスが見つからなかった。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:114
msgid ""
"The B<migrate_pages>() system call first appeared on Linux in version "
"2.6.16."
-msgstr ""
+msgstr "B<migrate_pages>() システムコールは Linux 2.6.16 で初めて登場した。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:128
"this information is subject to change at any time by manual or automatic "
"reconfiguration of the cpuset."
msgstr ""
+"呼び出し元プロセスの CPU 集合で許可されているノード集合を取得するには、\n"
+"B<MPOL_F_MEMS_ALLOWED> フラグを付けて B<get_mempolicy>(2) を使うこと。\n"
+"この情報は、手動/自動に限らず CPU 集合の再構成によりいつでも\n"
+"変更されることがある点に注意してほしい。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:140
"is, memory policy does not constrain the destination nodes used by "
"B<migrate_pages>()."
msgstr ""
+"B<migrate_pages> を使用すると、ページが置かれる場所 (ノード) が、指定\n"
+"されたアドレスに対して設定されたメモリポリシー (B<mbind>(2) 参照) や\n"
+"指定されたプロセスに対して設定されたメモリポリシー\n"
+"(B<set_mempolicy>(2) 参照) に違反する状況になる可能性がある。\n"
+"すなわち、メモリポリシーによる制約は B<migrate_pages>() による移動先\n"
+"ノードの選択には適用されないということである。"
#. type: Plain text
#: build/C/man2/migrate_pages.2:146 build/C/man2/move_pages.2:225
#. type: Plain text
#: build/C/man2/migrate_pages.2:159
msgid "the kernel source file I<Documentation/vm/page_migration>."
-msgstr ""
+msgstr "カーネルのソースファイル I<Documentation/vm/page_migration>。"
#. type: TH
#: build/C/man2/move_pages.2:18
#. type: Plain text
#: build/C/man7/numa.7:30
msgid "numa - overview of Non-Uniform Memory Architecture"
-msgstr ""
+msgstr "numa - 非対称型メモリアーキテクチャの概要"
#. type: Plain text
#: build/C/man7/numa.7:41
"faster than the memory in the node local to another CPU or the memory on a "
"bus shared by all CPUs."
msgstr ""
+"非対称型メモリアクセス (Non-Uniform Memory Access; NUMA) は、\n"
+"メモリが複数のメモリノードに分割されているマルチプロセッサシステム\n"
+"のことである。メモリノードへのアクセス時間は、アクセス元の CPU と\n"
+"アクセス先のノードの相対的な位置関係に依存する\n"
+"(これに対し、対称型マルチプロセッサシステムでは、どの CPU から\n"
+"どのメモリへのアクセス時間も同じである)。\n"
+"通常は、 NUMA システムの各 CPU にはローカルのメモリノードがあり、\n"
+"そのメモリノードには、他の CPU のローカルノードや全ての CPU で\n"
+"共有されるバス上のメモリよりも早くアクセスすることができる。"
#. type: SS
#: build/C/man7/numa.7:41
#, no-wrap
msgid "NUMA system calls"
-msgstr ""
+msgstr "NUMA システムコール"
#. type: Plain text
#: build/C/man7/numa.7:52
"B<set_mempolicy>(2). However, applications should normally use the "
"interface provided by I<libnuma>; see \"Library Support\" below."
msgstr ""
+"Linux カーネルには、次に示す NUMA 関連のシステムコールが実装されている:\n"
+"B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2),\n"
+"B<move_pages>(2), B<set_mempolicy>(2).\n"
+"ただし、アプリケーションは通常は I<libnuma> が提供するインターフェース\n"
+"を使用すべきである。下記の「ライブラリによるサポート」を参照。"
#. type: SS
#: build/C/man7/numa.7:52
#, no-wrap
msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
-msgstr ""
+msgstr "/proc/[number]/numa_maps (Linux 2.6.14 以降)"
#. See also Changelog-2.6.14
#. type: Plain text
"This file displays information about a process's NUMA memory policy and "
"allocation."
msgstr ""
+"このファイルは、プロセスの NUMA メモリポリシーと割り当てに関する\n"
+"情報を表示する。"
#. type: Plain text
#: build/C/man7/numa.7:60
#. type: Plain text
#: build/C/man7/numa.7:108
msgid "Memory range is used for the heap."
-msgstr ""
+msgstr "ヒープに使用されているメモリ範囲。"
#. type: TP
#: build/C/man7/numa.7:108
#. type: Plain text
#: build/C/man7/numa.7:111
msgid "Memory range is used for the stack."
-msgstr ""
+msgstr "スタックに使用されているメモリ範囲。"
#. type: TP
#: build/C/man7/numa.7:111
"Huge memory range. The page counts shown are huge pages and not regular "
"sized pages."
msgstr ""
+"ヒュージメモリの範囲。表示されるページ数は、\n"
+"通常の大きさのページではなく、ヒュージページの数である。"
#. type: TP
#: build/C/man7/numa.7:115
#. type: Plain text
#: build/C/man7/numa.7:118
msgid "The number of anonymous page in the range."
-msgstr ""
+msgstr "メモリ範囲内の無名ページ (anonymous page) の数。"
#. type: TP
#: build/C/man7/numa.7:118
#. type: Plain text
#: build/C/man7/numa.7:121
msgid "Number of dirty pages."
-msgstr ""
+msgstr "dirty (変更された) ページの数。"
#. type: TP
#: build/C/man7/numa.7:121
"The Linux NUMA system calls and I</proc> interface are only available if the "
"kernel was configured and built with the B<CONFIG_NUMA> option."
msgstr ""
+"Linux の NUMA システムコールと I</proc> インターフェースは、カーネルが\n"
+"設定オプション B<CONFIG_NUMA> を有効にして作成されている場合のみ、利用\n"
+"可能である。"
#. type: SS
#: build/C/man7/numa.7:153
#, no-wrap
msgid "Library Support"
-msgstr ""
+msgstr "ライブラリによるサポート"
#. type: Plain text
#: build/C/man7/numa.7:162
"required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
"package."
msgstr ""
+"システムコールの定義を得るには I<-lnuma> でリンクすること。\n"
+"I<libnuma> と必要なヘッダファイル I<E<lt>numaif.hE<gt>> は\n"
+"I<numactl> パッケージで提供されている。"
#. type: Plain text
#: build/C/man7/numa.7:178
"included in some Linux distributions. Some distributions include the "
"development library and header in the separate I<numactl-devel> package."
msgstr ""
+"ただし、アプリケーションはこれらのシステムコールを直接利用すべきでない。\n"
+"推奨される方法は、I<numactl> パッケージの B<numa>(3) の関数群が提供する\n"
+"高レベルインターフェースの利用である。 I<numactl> パッケージは\n"
+"I<ftp://oss.sgi.com/www/projects/libnuma/download/> で入手できる。\n"
+"このパッケージが収録されている Linux ディストリビューションもある。\n"
+"ディストリビューションによっては、開発用のライブラリとヘッダファイルは\n"
+"別パッケージ I<numactl-devel> で提供されている。"
#. type: Plain text
#: build/C/man7/numa.7:180
msgid "No standards govern NUMA interfaces."
-msgstr ""
+msgstr "NUMA インターフェースについて規定している標準はない。"
#. type: Plain text
#: build/C/man7/numa.7:188