1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-03-22 01:06+0900\n"
10 "PO-Revision-Date: 2012-05-28 23:58+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man2/get_mempolicy.2:27
22 msgstr "GET_MEMPOLICY"
25 #: build/C/man2/get_mempolicy.2:27 build/C/man2/mbind.2:45
26 #: build/C/man2/set_mempolicy.2:27
32 #: build/C/man2/get_mempolicy.2:27 build/C/man2/getcpu.2:12
33 #: build/C/man2/mbind.2:45 build/C/man2/migrate_pages.2:18
34 #: build/C/man2/move_pages.2:18 build/C/man7/numa.7:29
35 #: build/C/man2/set_mempolicy.2:27
41 #: build/C/man2/get_mempolicy.2:27 build/C/man2/getcpu.2:12
42 #: build/C/man2/mbind.2:45 build/C/man2/migrate_pages.2:18
43 #: build/C/man2/move_pages.2:18 build/C/man7/numa.7:29
44 #: build/C/man2/set_mempolicy.2:27
46 msgid "Linux Programmer's Manual"
47 msgstr "Linux Programmer's Manual"
50 #: build/C/man2/get_mempolicy.2:28 build/C/man2/getcpu.2:13
51 #: build/C/man2/mbind.2:46 build/C/man2/migrate_pages.2:19
52 #: build/C/man2/move_pages.2:19 build/C/man7/numa.7:30
53 #: build/C/man2/set_mempolicy.2:28
59 #: build/C/man2/get_mempolicy.2:30
61 #| msgid "get_mempolicy - Retrieve NUMA memory policy for a process"
62 msgid "get_mempolicy - retrieve NUMA memory policy for a process"
63 msgstr "get_mempolicy - プロセスの NUMA メモリのポリシーを取得する"
66 #: build/C/man2/get_mempolicy.2:30 build/C/man2/getcpu.2:15
67 #: build/C/man2/mbind.2:48 build/C/man2/migrate_pages.2:21
68 #: build/C/man2/move_pages.2:21 build/C/man2/set_mempolicy.2:30
74 #: build/C/man2/get_mempolicy.2:32
75 msgid "B<#include E<lt>numaif.hE<gt>>"
76 msgstr "B<#include E<lt>numaif.hE<gt>>"
79 #: build/C/man2/get_mempolicy.2:37
82 "B<int get_mempolicy(int *>I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
83 "B< unsigned long >I<maxnode>B<, unsigned long >I<addr>B<,>\n"
84 "B< unsigned long >I<flags>B<);>\n"
86 "B<int get_mempolicy(int *>I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
87 "B< unsigned long >I<maxnode>B<, unsigned long >I<addr>B<,>\n"
88 "B< unsigned long >I<flags>B<);>\n"
91 #: build/C/man2/get_mempolicy.2:39 build/C/man2/mbind.2:57
92 #: build/C/man2/set_mempolicy.2:38
94 msgid "Link with I<-lnuma>.\n"
95 msgstr "I<-lnuma> でリンクする。\n"
98 #: build/C/man2/get_mempolicy.2:40 build/C/man2/getcpu.2:25
99 #: build/C/man2/mbind.2:58 build/C/man2/migrate_pages.2:31
100 #: build/C/man2/move_pages.2:30 build/C/man7/numa.7:32
101 #: build/C/man2/set_mempolicy.2:39
107 #: build/C/man2/get_mempolicy.2:45
109 "B<get_mempolicy>() retrieves the NUMA policy of the calling process or of a "
110 "memory address, depending on the setting of I<flags>."
112 "B<get_mempolicy>() は、呼び出し元プロセスもしくは指定されたメモリアドレスの "
113 "NUMA ポリシーを I<flags> の設定に従って取得する。"
116 #: build/C/man2/get_mempolicy.2:50 build/C/man2/set_mempolicy.2:54
118 "A NUMA machine has different memory controllers with different distances to "
119 "specific CPUs. The memory policy defines from which node memory is "
120 "allocated for the process."
122 "NUMA (非対称メモリアクセス) マシンでは、CPU により メモリコントローラが異な"
123 "り、距離も異なっている。 メモリポリシーは、どのノードからメモリをそのプロセス"
127 #: build/C/man2/get_mempolicy.2:67
129 "If I<flags> is specified as 0, then information about the calling process's "
130 "default policy (as set by B<set_mempolicy>(2)) is returned. The policy "
131 "returned [I<mode> and I<nodemask>] may be used to restore the process's "
132 "policy to its state at the time of the call to B<get_mempolicy>() using "
133 "B<set_mempolicy>(2)."
135 "I<flags> に 0 が指定された場合、 (B<set_mempolicy>(2) で設定された) 呼び出"
136 "し元プロセスのデフォルトポリシーに関する情報を返す。 返されたポリシー "
137 "[I<mode> と I<nodemask>] を B<set_mempolicy>(2) に渡すことで、そのプロセスの"
138 "ポリシーを B<get_mempolicy>() を呼び出した時点の状態に戻すことができる。"
141 #: build/C/man2/get_mempolicy.2:89
143 "If I<flags> specifies B<MPOL_F_MEMS_ALLOWED> (available since Linux 2.6.24), "
144 "the I<mode> argument is ignored and the set of nodes [memories] that the "
145 "process is allowed to specify in subsequent calls to B<mbind>(2) or "
146 "B<set_mempolicy>(2) [in the absence of any I<mode flags>] is returned in "
147 "I<nodemask>. It is not permitted to combine B<MPOL_F_MEMS_ALLOWED> with "
148 "either B<MPOL_F_ADDR> or B<MPOL_F_NODE>."
150 "I<flags> に B<MPOL_F_MEMS_ALLOWED> (Linux 2.6.24 以降で利用可能) を指定する"
151 "と、 I<mode> 引き数は無視され、 そのプロセスがその後の B<mbind>(2) や "
152 "B<set_mempolicy>(2) で [I<モードフラグ> が指定されていない場合に ] 指定でき"
153 "るノード (メモリ) の集合が I<nodemask> に返される。 B<MPOL_F_MEMS_ALLOWED> "
154 "を、 B<MPOL_F_ADDR> や B<MPOL_F_NODE> と同時に指定することはできない。"
157 #: build/C/man2/get_mempolicy.2:103
159 "If I<flags> specifies B<MPOL_F_ADDR>, then information is returned about the "
160 "policy governing the memory address given in I<addr>. This policy may be "
161 "different from the process's default policy if B<mbind>(2) or one of the "
162 "helper functions described in B<numa>(3) has been used to establish a "
163 "policy for the memory range containing I<addr>."
165 "I<flags> に B<MPOL_F_ADDR> が指定された場合、 I<addr> で指定されたメモリアド"
166 "レスに適用されているポリシーに関する情報を返す。 B<mbind>(2) や B<numa>(3) "
167 "で説明されているヘルパー関数を使って、 I<addr> を含むメモリ領域に対するポリ"
168 "シーが設定されていた場合には、 返されるポリシーはプロセスのデフォルトポリシー"
172 #: build/C/man2/get_mempolicy.2:124
174 "If the I<mode> argument is not NULL, then B<get_mempolicy>() will store the "
175 "policy mode and any optional I<mode flags> of the requested NUMA policy in "
176 "the location pointed to by this argument. If I<nodemask> is not NULL, then "
177 "the nodemask associated with the policy will be stored in the location "
178 "pointed to by this argument. I<maxnode> specifies the number of node IDs "
179 "that can be stored into I<nodemask>\\(emthat is, the maximum node ID plus "
180 "one. The value specified by I<maxnode> is always rounded to a multiple of "
181 "I<sizeof(unsigned long)>."
183 "I<mode> 引き数が NULL でない場合、 B<get_mempolicy>() は要求された NUMA ポリ"
184 "シーのモードと追加の I<モードフラグ> を I<mode> が指す場所に格納する。 "
185 "I<nodemask> が NULL 以外の場合、そのポリシーに対応するノードマスクを この引き"
186 "数が指す場所に格納する。 I<maxnode> には I<nodemask> に格納できるノード ID の"
187 "数、つまり最大ノード ID に 1 を足した値を指定する。 I<maxnode> で指定された値"
188 "は常に I<sizeof(unsigned long)> の倍数に切り上げられる。"
191 #: build/C/man2/get_mempolicy.2:141
193 "If I<flags> specifies both B<MPOL_F_NODE> and B<MPOL_F_ADDR>, "
194 "B<get_mempolicy>() will return the node ID of the node on which the address "
195 "I<addr> is allocated into the location pointed to by I<mode>. If no page "
196 "has yet been allocated for the specified address, B<get_mempolicy>() will "
197 "allocate a page as if the process had performed a read [load] access to that "
198 "address, and return the ID of the node where that page was allocated."
200 "I<flags> で B<MPOL_F_NODE> と B<MPOL_F_ADDR> の両方が指定された場合、 "
201 "B<get_mempolicy>() はアドレス I<addr> が割り当てられているノードのノード ID "
202 "を I<mode> が指す場所に入れて返す。 指定されたアドレスにどのページもまだ割り"
203 "当てられていない場合、 B<get_mempolicy>() は、あたかもそのプロセスがそのアド"
204 "レスに対して読み込みアクセスを 実行したかのようにページの割り当てを行い、ペー"
205 "ジが割り当てられた ノードの ID を返す。"
207 #. Note: code returns next interleave node via 'mode' argument -Lee Schermerhorn
209 #: build/C/man2/get_mempolicy.2:166
211 "If I<flags> specifies B<MPOL_F_NODE>, but not B<MPOL_F_ADDR>, and the "
212 "process's current policy is B<MPOL_INTERLEAVE>, then B<get_mempolicy>() "
213 "will return in the location pointed to by a non-NULL I<mode> argument, the "
214 "node ID of the next node that will be used for interleaving of internal "
215 "kernel pages allocated on behalf of the process. These allocations include "
216 "pages for memory mapped files in process memory ranges mapped using the "
217 "B<mmap>(2) call with the B<MAP_PRIVATE> flag for read accesses, and in "
218 "memory ranges mapped with the B<MAP_SHARED> flag for all accesses."
220 "I<flags> で B<MPOL_F_NODE> は指定されたが、 B<MPOL_F_ADDR> は指定されていない"
221 "場合で、かつ そのプロセスの現在のポリシーが B<MPOL_INTERLEAVE> の場合、 "
222 "B<get_mempolicy>() は、そのプロセスに対して割り当てられたカーネルの内部ペー"
223 "ジで 次にインターリーブ用に使用されるノードのノード ID を、 NULL でない "
224 "I<mode> 引き数が指す場所に入れて返す。 読み込みアクセス用として "
225 "B<MAP_PRIVATE> フラグ付きで B<mmap>(2) したプロセスメモリ領域や、 任意のアク"
226 "セス用として B<MAP_SHARED> フラグ付きで B<mmap>(2) したメモリ領域の、メモリ"
227 "マップされたファイルに対するページも 上記のプロセスに対して割り当てられたペー"
231 #: build/C/man2/get_mempolicy.2:168
232 msgid "Other flag values are reserved."
233 msgstr "他のフラグは予約されている。"
236 #: build/C/man2/get_mempolicy.2:171
237 msgid "For an overview of the possible policies see B<set_mempolicy>(2)."
238 msgstr "設定可能なポリシーの概要については B<set_mempolicy>(2) を参照。"
241 #: build/C/man2/get_mempolicy.2:171 build/C/man2/getcpu.2:59
242 #: build/C/man2/mbind.2:309 build/C/man2/migrate_pages.2:88
243 #: build/C/man2/move_pages.2:141 build/C/man2/set_mempolicy.2:220
249 #: build/C/man2/get_mempolicy.2:178
251 "On success, B<get_mempolicy>() returns 0; on error, -1 is returned and "
252 "I<errno> is set to indicate the error."
254 "成功すると、 B<get_mempolicy>() は 0 を返す。エラーの場合、-1 を返し、 "
255 "I<errno> にエラーを示す値を設定する。"
258 #: build/C/man2/get_mempolicy.2:178 build/C/man2/getcpu.2:64
259 #: build/C/man2/mbind.2:317 build/C/man2/migrate_pages.2:96
260 #: build/C/man2/move_pages.2:150 build/C/man2/set_mempolicy.2:227
266 #: build/C/man2/get_mempolicy.2:179 build/C/man2/getcpu.2:65
267 #: build/C/man2/mbind.2:319 build/C/man2/move_pages.2:159
268 #: build/C/man2/set_mempolicy.2:228
274 #: build/C/man2/get_mempolicy.2:186 build/C/man2/set_mempolicy.2:235
276 "Part of all of the memory range specified by I<nodemask> and I<maxnode> "
277 "points outside your accessible address space."
279 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
280 "元がアクセス可能なアドレス空間外を指している。"
283 #: build/C/man2/get_mempolicy.2:186 build/C/man2/mbind.2:327
284 #: build/C/man2/move_pages.2:162 build/C/man2/set_mempolicy.2:235
290 #: build/C/man2/get_mempolicy.2:230
292 "The value specified by I<maxnode> is less than the number of node IDs "
293 "supported by the system. Or I<flags> specified values other than "
294 "B<MPOL_F_NODE> or B<MPOL_F_ADDR>; or I<flags> specified B<MPOL_F_ADDR> and "
295 "I<addr> is NULL, or I<flags> did not specify B<MPOL_F_ADDR> and I<addr> is "
296 "not NULL. Or, I<flags> specified B<MPOL_F_NODE> but not B<MPOL_F_ADDR> and "
297 "the current process policy is not B<MPOL_INTERLEAVE>. Or, I<flags> "
298 "specified B<MPOL_F_MEMS_ALLOWED> with either B<MPOL_F_ADDR> or "
299 "B<MPOL_F_NODE>. (And there are other B<EINVAL> cases.)"
301 "I<maxnode> で指定された値がシステムがサポートするノード ID の数よりも少な"
302 "い。 または、 I<flags> に B<MPOL_F_NODE> でも B<MPOL_F_ADDR> でもない値が指定"
303 "された。 または、 I<flags> に B<MPOL_F_ADDR> が指定されており、 I<addr> が "
304 "NULL である。 または、 I<flags> に B<MPOL_F_ADDR> がされておらず、 I<addr> "
305 "が NULL でない。 または、 I<flags> に B<MPOL_F_NODE> が指定されており、 "
306 "B<MPOL_F_ADDR> が指定されておらず、 プロセスの現在のポリシーが "
307 "B<MPOL_INTERLEAVE> でない。 または、 I<flags> に B<MPOL_F_MEMS_ALLOWED> が指"
308 "定されており、さらに B<MPOL_F_ADDR> か B<MPOL_F_NODE> のいずれかが指定されて"
309 "いる。 (他にも B<EINVAL> となる場合がある。)"
312 #: build/C/man2/get_mempolicy.2:230 build/C/man2/getcpu.2:68
313 #: build/C/man2/mbind.2:399 build/C/man2/migrate_pages.2:112
314 #: build/C/man2/move_pages.2:190 build/C/man2/set_mempolicy.2:275
320 #: build/C/man2/get_mempolicy.2:234
322 "The B<get_mempolicy>() system call was added to the Linux kernel in version "
325 "B<get_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
329 #: build/C/man2/get_mempolicy.2:234 build/C/man2/getcpu.2:71
330 #: build/C/man2/mbind.2:403 build/C/man2/migrate_pages.2:116
331 #: build/C/man2/move_pages.2:193 build/C/man7/numa.7:148
332 #: build/C/man2/set_mempolicy.2:279
334 msgid "CONFORMING TO"
338 #: build/C/man2/get_mempolicy.2:236 build/C/man2/mbind.2:405
339 #: build/C/man2/migrate_pages.2:118 build/C/man2/move_pages.2:195
340 #: build/C/man2/set_mempolicy.2:281
341 msgid "This system call is Linux-specific."
342 msgstr "このシステムコールは Linux 固有である。"
345 #: build/C/man2/get_mempolicy.2:236 build/C/man2/getcpu.2:74
346 #: build/C/man2/mbind.2:405 build/C/man2/migrate_pages.2:118
347 #: build/C/man2/move_pages.2:195 build/C/man7/numa.7:150
348 #: build/C/man2/set_mempolicy.2:281
354 #: build/C/man2/get_mempolicy.2:239 build/C/man2/mbind.2:408
355 #: build/C/man2/migrate_pages.2:121 build/C/man2/move_pages.2:198
356 #: build/C/man2/set_mempolicy.2:289
357 msgid "For information on library support, see B<numa>(7)."
358 msgstr "ライブラリによるサポートについては B<numa>(7) を参照。"
361 #: build/C/man2/get_mempolicy.2:239 build/C/man2/getcpu.2:137
362 #: build/C/man2/mbind.2:457 build/C/man2/migrate_pages.2:148
363 #: build/C/man2/move_pages.2:225 build/C/man7/numa.7:183
364 #: build/C/man2/set_mempolicy.2:289
370 #: build/C/man2/get_mempolicy.2:247
372 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
373 "B<numa>(7), B<numactl>(8)"
375 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
376 "B<numa>(7), B<numactl>(8)"
379 #: build/C/man2/get_mempolicy.2:247 build/C/man2/getcpu.2:143
380 #: build/C/man2/mbind.2:468 build/C/man2/migrate_pages.2:161
381 #: build/C/man2/move_pages.2:235 build/C/man7/numa.7:191
382 #: build/C/man2/set_mempolicy.2:298
388 #: build/C/man2/get_mempolicy.2:254 build/C/man2/getcpu.2:150
389 #: build/C/man2/mbind.2:475 build/C/man2/migrate_pages.2:168
390 #: build/C/man2/move_pages.2:242 build/C/man7/numa.7:198
391 #: build/C/man2/set_mempolicy.2:305
394 #| "This page is part of release 3.41 of the Linux I<man-pages> project. A "
395 #| "description of the project, and information about reporting bugs, can be "
396 #| "found at http://www.kernel.org/doc/man-pages/."
398 "This page is part of release 3.50 of the Linux I<man-pages> project. A "
399 "description of the project, and information about reporting bugs, can be "
400 "found at http://www.kernel.org/doc/man-pages/."
402 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.41 の一部\n"
403 "である。プロジェクトの説明とバグ報告に関する情報は\n"
404 "http://www.kernel.org/doc/man-pages/ に書かれている。"
407 #: build/C/man2/getcpu.2:12
413 #: build/C/man2/getcpu.2:12
415 #| msgid "2012-05-09"
420 #: build/C/man2/getcpu.2:15
422 "getcpu - determine CPU and NUMA node on which the calling thread is running"
423 msgstr "getcpu - 呼び出し元スレッドが動作している CPU と NUMA ノードを判定する"
426 #: build/C/man2/getcpu.2:18
428 msgid "B<#include E<lt>linux/getcpu.hE<gt>>\n"
429 msgstr "B<#include E<lt>linux/getcpu.hE<gt>>\n"
432 #: build/C/man2/getcpu.2:21
434 msgid "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
435 msgstr "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
438 #: build/C/man2/getcpu.2:25
439 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
443 #: build/C/man2/getcpu.2:42
445 "The B<getcpu>() system call identifies the processor and node on which the "
446 "calling thread or process is currently running and writes them into the "
447 "integers pointed to by the I<cpu> and I<node> arguments. The processor is a "
448 "unique small integer identifying a CPU. The node is a unique small "
449 "identifier identifying a NUMA node. When either I<cpu> or I<node> is NULL "
450 "nothing is written to the respective pointer."
452 "B<getcpu>() システムコールは、呼び出し元のスレッドやプロセスが\n"
453 "現在動作しているプロセッサやノードの情報を特定し、\n"
454 "それぞれ引き数 I<cpu> と I<node> が指す整数に書き込む。\n"
455 "プロセッサ情報は CPU を識別するための一意な小さな整数である。\n"
456 "ノード情報は NUMAノードを識別するための一意な小さな整数である。\n"
457 "I<cpu> か I<node> のいずれかが NULL であれば、\n"
458 "その引き数に対応する情報の書き込みは行われない。"
461 #: build/C/man2/getcpu.2:44
462 msgid "The third argument to this system call is nowadays unused (see NOTES)."
464 "このシステムコールの 3 番目の引き数は現在は使われていない\n"
468 #: build/C/man2/getcpu.2:59
470 "The information placed in I<cpu> is only guaranteed to be current at the "
471 "time of the call: unless the CPU affinity has been fixed using "
472 "B<sched_setaffinity>(2), the kernel might change the CPU at any time. "
473 "(Normally this does not happen because the scheduler tries to minimize "
474 "movements between CPUs to keep caches hot, but it is possible.) The caller "
475 "must allow for the possibility that the information returned in I<cpu> and "
476 "I<node> is no longer current by the time the call returns."
478 "I<cpu> に格納された情報が最新だと保証できるのは、システムコールが呼ばれ\n"
479 "た時点だけである。B<sched_setaffinity>(2) を使って CPU affinity が固定\n"
480 "されていない限り、カーネルはいつでも CPU を変更してもよい (スケジューラ\n"
481 "はキャッシュが有効に働くように CPU の移動を最小限にしようとするので、\n"
482 "通常は CPU が変更されることはないが、起きる可能性はある)。\n"
483 "I<cpu> や I<node> で返された情報が呼び出しが返った時点ですでに\n"
484 "最新の状況と異なる可能性があり、呼び出し元はこの可能性を考慮して\n"
488 #: build/C/man2/getcpu.2:64
490 "On success, 0 is returned. On error, -1 is returned, and I<errno> is set "
494 "エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
497 #: build/C/man2/getcpu.2:68
498 msgid "Arguments point outside the calling process's address space."
499 msgstr "引き数が呼び出したプロセスのアドレス空間外を指している。"
502 #: build/C/man2/getcpu.2:71
503 msgid "B<getcpu>() was added in kernel 2.6.19 for x86_64 and i386."
504 msgstr "B<getcpu>() はカーネル 2.6.19 で x86_64 と i386 向けに追加された."
507 #: build/C/man2/getcpu.2:74
508 msgid "B<getcpu>() is Linux specific."
509 msgstr "B<getcpu>() は Linux 固有である。"
512 #: build/C/man2/getcpu.2:80
514 "Linux makes a best effort to make this call as fast possible. The intention "
515 "of B<getcpu>() is to allow programs to make optimizations with per-CPU data "
516 "or for NUMA optimization."
518 "Linux はこのシステムコールを可能な限り早く実行しようとする。\n"
519 "B<getcpu>() は、CPU 毎のデータに対する最適化や NUMA 環境での最適化を\n"
520 "プログラムが行えるようにすることを目的として実装されているからである。"
523 #: build/C/man2/getcpu.2:86
525 "Glibc does not provide a wrapper for this system call; call it using "
526 "B<syscall>(2); or use B<sched_getcpu>(3) instead."
528 "glibc はこのシステムコールに対するラッパー関数を提供していない。\n"
529 "B<syscall>(2) を使って呼び出すか、\n"
530 "代わりに B<sched_getcpu>(3) を使用すること。"
532 #. commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
533 #. Author: Ingo Molnar <mingo@elte.hu>
534 #. Date: Wed Nov 7 18:37:48 2007 +0100
535 #. x86: ignore the sys_getcpu() tcache parameter
536 #. ===== Before kernel 2.6.24: =====
539 #. .IR "struct getcpu_cache"
540 #. that is used as a cache by
542 #. The caller should put the cache into a thread-local variable
543 #. if the process is multithreaded,
544 #. because the cache cannot be shared between different threads.
549 #. will use it to speed up operation.
550 #. The information inside the cache is private to the system call
551 #. and should not be accessed by the user program.
552 #. The information placed in the cache can change between kernel releases.
553 #. When no cache is specified
556 #. but always retrieve the current CPU and node information.
560 #. However, the cached information is only updated once per jiffy (see
562 #. This means that the information could theoretically be out of date,
563 #. although in practice the scheduler's attempt to maintain
564 #. soft CPU affinity means that the information is unlikely to change
565 #. over the course of the caching interval.
567 #: build/C/man2/getcpu.2:137
569 "The I<tcache> argument is unused since Linux 2.6.24. In earlier kernels, if "
570 "this argument was non-NULL, then it specified a pointer to a caller-"
571 "allocated buffer in thread-local storage that was used to provide a caching "
572 "mechanism for B<getcpu>(). Use of the cache could speed B<getcpu>() calls, "
573 "at the cost that there was a very small chance that the returned information "
574 "would be out of date. The caching mechanism was considered to cause "
575 "problems when migrating threads between CPUs, and so the argument is now "
578 "I<tcache> 引き数は Linux 2.6.24 以降では使用されない。以前のバージョン\n"
579 "のカーネルでは、この引き数が NULL 以外の場合、この引き数には、呼び出し\n"
580 "元が割り当てたスレッド専用の記憶領域 (thread-local storage) 内のバッファ\n"
581 "を指すポインタが指定され、このバッファは B<getcpu>() 用のキャッシュ機構\n"
582 "を提供するために利用されていた。非常に低い確率だが古い情報を返してしま\n"
583 "うデメリットはあるものの、このキャッシュを使うことで B<getcpu>() システ\n"
584 "ムコールを高速化できた。このキャッシュ機構はCPU 間でのスレッドの移動時\n"
585 "に問題になると考えられ、この引き数は今では無視されるようになっている。"
588 #: build/C/man2/getcpu.2:143
590 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
593 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
597 #: build/C/man2/mbind.2:45
603 #: build/C/man2/mbind.2:48
605 #| msgid "mbind - Set memory policy for a memory range"
606 msgid "mbind - set memory policy for a memory range"
607 msgstr "mbind - メモリ領域に対してメモリポリシーを設定する"
610 #: build/C/man2/mbind.2:51 build/C/man2/migrate_pages.2:24
611 #: build/C/man2/move_pages.2:24 build/C/man2/set_mempolicy.2:33
613 msgid "B<#include E<lt>numaif.hE<gt>>\n"
614 msgstr "B<#include E<lt>numaif.hE<gt>>\n"
617 #: build/C/man2/mbind.2:55
620 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
621 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
622 "B< unsigned >I<flags>B<);>\n"
624 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
625 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
626 "B< unsigned >I<flags>B<);>\n"
629 #: build/C/man2/mbind.2:68
631 "B<mbind>() sets the NUMA memory policy, which consists of a policy mode and "
632 "zero or more nodes, for the memory range starting with I<addr> and "
633 "continuing for I<len> bytes. The memory policy defines from which node "
634 "memory is allocated."
636 "B<mbind>() は、 I<addr> から始まる長さ I<len> バイトの範囲のメモリに NUMA メ"
637 "モリポリシーを設定する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから"
638 "構成される。 メモリポリシーはどのノードからメモリを割り当てるかを決定する。"
641 #: build/C/man2/mbind.2:90
643 "If the memory range specified by the I<addr> and I<len> arguments includes "
644 "an \"anonymous\" region of memory\\(emthat is a region of memory created "
645 "using the B<mmap>(2) system call with the B<MAP_ANONYMOUS>\\(emor a memory "
646 "mapped file, mapped using the B<mmap>(2) system call with the "
647 "B<MAP_PRIVATE> flag, pages will only be allocated according to the specified "
648 "policy when the application writes [stores] to the page. For anonymous "
649 "regions, an initial read access will use a shared page in the kernel "
650 "containing all zeros. For a file mapped with B<MAP_PRIVATE>, an initial "
651 "read access will allocate pages according to the process policy of the "
652 "process that causes the page to be allocated. This may not be the process "
653 "that called B<mbind>()."
655 "I<addr> と I<len> で指定されたメモリ範囲に、 メモリの「無名」領域 \\(em "
656 "B<MAP_ANONYMOUS> 付きの B<mmap>(2) システムコールを使って作成されたメモリ領"
657 "域 \\(em や B<MAP_PRIVATE> 付きの B<mmap>(2) を使ってマップされたメモリマッ"
658 "プ・ファイルが含まれている場合、 ページが指定されたポリシーに基づいて割り当て"
659 "られるのは、アプリケーション がそのページへの書き込み (データの格納) を行った"
660 "時だけである。 無名領域の場合、最初の読み出しアクセスの際には カーネル内の全"
661 "データが 0 である共有ページが使用される。 B<MAP_PRIVATE> でマップされたファイ"
662 "ルの場合、最初の読み出しアクセスがあると、 ページ割り当てが発生するきっかけと"
663 "なったプロセスのデフォルトポリシー にしたがってページの割り当てが行われる。 "
664 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセス"
668 #: build/C/man2/mbind.2:98
670 "The specified policy will be ignored for any B<MAP_SHARED> mappings in the "
671 "specified memory range. Rather the pages will be allocated according to the "
672 "process policy of the process that caused the page to be allocated. Again, "
673 "this may not be the process that called B<mbind>()."
675 "指定されたメモリ範囲内にある B<MAP_SHARED> のマッピングでは指定されたポリシー"
676 "は無視され、 ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリ"
677 "シーに したがってページの割り当てが行われることになる。 繰り返しになるが、"
678 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセス"
682 #: build/C/man2/mbind.2:115
684 "If the specified memory range includes a shared memory region created using "
685 "the B<shmget>(2) system call and attached using the B<shmat>(2) system "
686 "call, pages allocated for the anonymous or shared memory region will be "
687 "allocated according to the policy specified, regardless which process "
688 "attached to the shared memory segment causes the allocation. If, however, "
689 "the shared memory region was created with the B<SHM_HUGETLB> flag, the huge "
690 "pages will be allocated according to the policy specified only if the page "
691 "allocation is caused by the process that calls B<mbind>() for that region."
693 "指定されたメモリ範囲に、 B<shmget>(2) システムコールを使って作成されたり、 "
694 "B<shmat>(2) システムコールを使って付加 (attach) されたりした共有メモリ領域"
695 "が 含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、 共"
696 "有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て のきっかけ"
697 "となったかに関わらず、指定されたポリシーにしたがって割り当て が行われる。 し"
698 "かしながら、共有メモリ領域が B<SHM_HUGETLB> フラグを指定して作成された場合に"
699 "は、ヒュージページ (huge page) の割り当てが 指定されたポリシーにしたがって行"
700 "われるのは、その領域に対して B<mbind>() を呼び出したプロセスがページ割り当て"
704 #: build/C/man2/mbind.2:126
706 "By default, B<mbind>() only has an effect for new allocations; if the pages "
707 "inside the range have been already touched before setting the policy, then "
708 "the policy has no effect. This default behavior may be overridden by the "
709 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> flags described below."
711 "デフォルトでは、 B<mbind>() は新規のメモリ割り当てに対してのみ効果を持つ。 "
712 "ポリシーが設定される前にすでに使用されている範囲内のページに対しては、 ポリ"
713 "シーは影響しない。 このデフォルトの動作は、以下で説明するフラグ "
714 "B<MPOL_MF_MOVE> や B<MPOL_MF_MOVE_ALL> により上書きされる可能性がある。"
717 #: build/C/man2/mbind.2:141
719 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
720 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All policy modes except "
721 "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> argument, "
722 "the node or nodes to which the mode applies."
724 "I<mode> 引き数には、 B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
725 "B<MPOL_PREFERRED> のいずれか一つを指定しなければならない。 B<MPOL_DEFAULT> 以"
726 "外のポリシーモードの場合、呼び出し元は I<nodemask> 引き数でそのポリシーモード"
727 "を適用するノードを指定する必要がある。"
730 #: build/C/man2/mbind.2:149
732 "The I<mode> argument may also include an optional I<mode flag >. The "
733 "supported I<mode flags> are:"
735 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
736 "れている I<モードフラグ> は以下の通りである。"
739 #: build/C/man2/mbind.2:149
741 msgid "B<MPOL_F_STATIC_NODES> (since Linux-2.6.26)"
742 msgstr "B<MPOL_F_STATIC_NODES> (Linux-2.6.26 以降)"
745 #: build/C/man2/mbind.2:159
747 "A nonempty I<nodemask> specifies physical node ids. Linux does not remap "
748 "the I<nodemask> when the process moves to a different cpuset context, nor "
749 "when the set of nodes allowed by the process's current cpuset context "
752 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
753 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
754 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
755 "I<nodemask> をマッピングし直すことはない。"
758 #: build/C/man2/mbind.2:159
760 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux-2.6.26)"
761 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux-2.6.26 以降)"
764 #: build/C/man2/mbind.2:165 build/C/man2/set_mempolicy.2:113
766 "A nonempty I<nodemask> specifies node ids that are relative to the set of "
767 "node ids allowed by the process's current cpuset."
769 "空でない I<nodemask> は、そのプロセスの現在の CPU 集合で許可されているノード "
770 "ID 集合 における相対的なノード ID である。"
773 #: build/C/man2/mbind.2:193
776 #| "I<nodemask> points to a bitmask of nodes containing up to I<maxnode> "
777 #| "bits. The bit mask size is rounded to the next multiple of I<sizeof"
778 #| "(unsigned long)>, but the kernel will only use bits up to I<maxnode>. A "
779 #| "NULL value of I<nodemask> or a I<maxnode> value of zero specifies the "
780 #| "empty set of nodes. If the value of I<maxnode> is zero, the I<nodemask> "
781 #| "argument is ignored. Where a I<nodemask> is required, it must contain at "
782 #| "least one node that is on-line, allowed by the process's current cpuset "
783 #| "context [unless the B<MPOL_F_STATIC_NODES> mode flag is specified], and "
784 #| "contains memory."
786 "I<nodemask> points to a bit mask of nodes containing up to I<maxnode> bits. "
787 "The bit mask size is rounded to the next multiple of I<sizeof(unsigned long)"
788 ">, but the kernel will only use bits up to I<maxnode>. A NULL value of "
789 "I<nodemask> or a I<maxnode> value of zero specifies the empty set of nodes. "
790 "If the value of I<maxnode> is zero, the I<nodemask> argument is ignored. "
791 "Where a I<nodemask> is required, it must contain at least one node that is "
792 "on-line, allowed by the process's current cpuset context [unless the "
793 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory."
795 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノードのビットマスクを"
796 "指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切り上"
797 "げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
798 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
799 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。 I<nodemask> が"
800 "必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現在の CPU 集合"
801 "コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラグが指定され"
802 "ていない場合)、メモリがあるノードが 少なくとも一つ入っていなければならない。"
805 #: build/C/man2/mbind.2:215
807 "The B<MPOL_DEFAULT> mode requests that any nondefault policy be removed, "
808 "restoring default behavior. When applied to a range of memory via B<mbind>"
809 "(), this means to use the process policy, which may have been set with "
810 "B<set_mempolicy>(2). If the mode of the process policy is also "
811 "B<MPOL_DEFAULT>, the system-wide default policy will be used. The system-"
812 "wide default policy allocates pages on the node of the CPU that triggers the "
813 "allocation. For B<MPOL_DEFAULT>, the I<nodemask> and I<maxnode> arguments "
814 "must be specify the empty set of nodes."
816 "モード B<MPOL_DEFAULT> はデフォルトではないプロセスのメモリポリシーを削除"
817 "し、 デフォルトの動作に戻すことを指定するものである。 B<mbind>() 経由で、あ"
818 "るメモリ領域に対して B<MPOL_DEFAULT> が適用された場合、プロセスのデフォルトポ"
819 "リシーを使用することを意味する。 プロセスのデフォルトポリシーは、 "
820 "B<set_mempolicy>(2) で変更されているかもしれない。 プロセスのポリシーのモー"
821 "ドも B<MPOL_DEFAULT> の場合、システム全体のデフォルトポリシーが使用される。 "
822 "システム全体のデフォルトポリシーでは、割り当てのきっかけとなった CPU のノード"
823 "からページの割り当てを行う。 B<MPOL_DEFAULT> では、引き数 I<nodemask> と "
824 "I<maxnode> にノードの空集合を指定しなければならない。"
827 #: build/C/man2/mbind.2:232
829 "The B<MPOL_BIND> mode specifies a strict policy that restricts memory "
830 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
831 "more than one node, page allocations will come from the node with the lowest "
832 "numeric node ID first, until that node contains no free memory. Allocations "
833 "will then come from the node with the next highest node ID specified in "
834 "I<nodemask> and so forth, until none of the specified nodes contain free "
835 "memory. Pages will not be allocated from any node not specified in the "
838 "B<MPOL_BIND> は厳しいポリシーで、メモリ割り当ては I<nodemask> に指定された"
839 "ノードに限定される。 他のノードへの割り当ては行われない。 I<nodemask> に 2 個"
840 "以上のノードが指定された場合、ページの割り当ては ノード ID が数字として最小の"
841 "ノードから開始され、 そのノードに空きメモリがなくなるまでそのノードから ペー"
842 "ジ割り当てが行われる。そのノードに空きメモリがなくなったら、 次に小さなノー"
843 "ド ID を持つノードからページ割り当てが行われる。 これを、 I<nodemask> で指定"
844 "された全てのノードで空きメモリがなくなるまで繰り返す。 I<nodemask> で指定され"
845 "た以外のノードからはページの割り当ては行われない。"
848 #: build/C/man2/mbind.2:245
850 "The B<MPOL_INTERLEAVE> mode specifies that page allocations be interleaved "
851 "across the set of nodes specified in I<nodemask>. This optimizes for "
852 "bandwidth instead of latency by spreading out pages and memory accesses to "
853 "those pages across multiple nodes. To be effective the memory area should "
854 "be fairly large, at least 1MB or bigger with a fairly uniform access "
855 "pattern. Accesses to a single page of the area will still be limited to the "
856 "memory bandwidth of a single node."
858 "B<MPOL_INTERLEAVE> は、メモリ割り当てが I<nodemask> に指定されたノード間で交"
859 "互に行われることを指定するものである。 このポリシーでは、複数のノードにページ"
860 "を広げて配置し、これらのページへの メモリアクセスを分散することで、遅延ではな"
861 "く、帯域を最適化する。 効果を得るには、メモリ領域をある程度大きくすべきであ"
862 "り、 メモリアクセスのパターンがかなり均一な場合でも 少なくとも 1MB 以上にすべ"
863 "きである。 このモードでも、一つのページへのアクセスに関しては 一つのノードの"
864 "メモリ帯域が上限となることは変わりない。"
867 #: build/C/man2/mbind.2:264
869 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
870 "try to allocate pages from this node first and fall back to other nodes if "
871 "the preferred nodes is low on free memory. If I<nodemask> specifies more "
872 "than one node ID, the first node in the mask will be selected as the "
873 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
874 "empty set, then the memory is allocated on the node of the CPU that "
875 "triggered the allocation. This is the only way to specify \"local allocation"
876 "\" for a range of memory via B<mbind>()."
878 "B<MPOL_PREFERRED> は、割り当て時に優先されるノードを設定する。 カーネルはまず"
879 "優先ノードにページ割り当てを行おうとし、 優先ノードに空きメモリが少ない場合に"
880 "他のノードに割り当てを行う。 I<nodemask> に複数のノード ID が指定された場合"
881 "は、 I<nodemask> 内の最初のノードが優先ノードとして選択される。 引き数 "
882 "I<nodemask>, I<maxnode> で空集合が指定された場合は、割り当てのきっかけとなっ"
883 "た CPU のノードに メモリ割り当てが行われる。 B<mbind>(2) で、あるメモリ領域"
884 "に対して「ローカルからの割り当て (local allocation)」を 指定する方法はこれし"
887 #. According to the kernel code, the following is not true
888 #. --Lee Schermerhorn
889 #. In 2.6.16 or later the kernel will also try to move pages
890 #. to the requested node with this flag.
892 #: build/C/man2/mbind.2:280
894 "If B<MPOL_MF_STRICT> is passed in I<flags> and I<mode> is not "
895 "B<MPOL_DEFAULT>, then the call will fail with the error B<EIO> if the "
896 "existing pages in the memory range don't follow the policy."
898 "I<flags> に B<MPOL_MF_STRICT> が 指定され、 I<mode> が B<MPOL_DEFAULT> でない"
899 "場合、 指定されたポリシーに従っていないメモリ領域にページが存在すると、 "
900 "B<mbind>() はエラー B<EIO> で失敗する。"
903 #: build/C/man2/mbind.2:293
905 "If B<MPOL_MF_MOVE> is specified in I<flags>, then the kernel will attempt to "
906 "move all the existing pages in the memory range so that they follow the "
907 "policy. Pages that are shared with other processes will not be moved. If "
908 "B<MPOL_MF_STRICT> is also specified, then the call will fail with the error "
909 "B<EIO> if some pages could not be moved."
911 "I<flags> に B<MPOL_MF_MOVE> が指定されると、カーネルはそのメモリ領域内の既存"
912 "の全てのページを移動し、 指定されたポリシーに従うようにしようとする。 他のプ"
913 "ロセスと共有されているページは移動されない。 B<MPOL_MF_STRICT> も指定された場"
914 "合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗する。"
916 #. ---------------------------------------------------------------
918 #: build/C/man2/mbind.2:309
920 "If B<MPOL_MF_MOVE_ALL> is passed in I<flags>, then the kernel will attempt "
921 "to move all existing pages in the memory range regardless of whether other "
922 "processes use the pages. The calling process must be privileged "
923 "(B<CAP_SYS_NICE>) to use this flag. If B<MPOL_MF_STRICT> is also "
924 "specified, then the call will fail with the error B<EIO> if some pages could "
927 "I<flags> に B<MPOL_MF_MOVE_ALL> が指定されると、カーネルはそのメモリ領域内の"
928 "既存の全てのページを、 他のプロセスがページを使用しているかどうかに関わらず移"
929 "動する。 このフラグを使用するには、呼び出し元のプロセスは特権 "
930 "(B<CAP_SYS_NICE>) を持っていなければならない。 B<MPOL_MF_STRICT> も指定され"
931 "た場合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗す"
934 #. ---------------------------------------------------------------
936 #: build/C/man2/mbind.2:317
938 "On success, B<mbind>() returns 0; on error, -1 is returned and I<errno> is "
939 "set to indicate the error."
941 "成功すると、 B<mbind>() は 0 を返す。エラーの場合、-1 を返し、 I<errno> にエ"
945 #: build/C/man2/mbind.2:327
947 "Part or all of the memory range specified by I<nodemask> and I<maxnode> "
948 "points outside your accessible address space. Or, there was an unmapped "
949 "hole in the specified memory range."
951 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
952 "元がアクセス可能なアドレス空間外を指している。 もしくは指定されたメモリ領域に"
953 "マップされていない部分 (unmapped hole) があった、"
955 #. As at 2.6.23, this limit is "a page worth of bits", e.g.,
956 #. 8 * 4096 bits, assuming a 4kB page size.
958 #: build/C/man2/mbind.2:375
960 "An invalid value was specified for I<flags> or I<mode>; or I<addr + len> was "
961 "less than I<addr>; or I<addr> is not a multiple of the system page size. "
962 "Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> specified a nonempty set; or "
963 "I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> is empty. Or, "
964 "I<maxnode> exceeds a kernel-imposed limit. Or, I<nodemask> specifies one or "
965 "more node IDs that are greater than the maximum supported node ID. Or, none "
966 "of the node IDs specified by I<nodemask> are on-line and allowed by the "
967 "process's current cpuset context, or none of the specified nodes contain "
968 "memory. Or, the I<mode> argument specified both B<MPOL_F_STATIC_NODES> and "
969 "B<MPOL_F_RELATIVE_NODES>."
971 "I<flags> や I<mode> に不正な値が指定された。 I<addr + len> が I<addr> より小"
972 "さい。 I<addr> がシステムのページサイズの倍数になっていない。 または I<mode> "
973 "が B<MPOL_DEFAULT> で I<nodemask> に空でない集合が指定された。 I<mode> が "
974 "B<MPOL_BIND> か B<MPOL_INTERLEAVE> で I<nodemask> が空であった。 I<maxnode> "
975 "がカーネルに適用された上限を超えている。 I<nodemask> に、サポートされている最"
976 "大ノード ID より大きいノードが指定された。 I<nodemask> に、オンラインで、かつ"
977 "そのプロセスの現在の CPU 集合コンテキストで 許可されているノードが一つも含ま"
978 "れていないか、 メモリを含むノードが一つも指定されていない。 I<mode> 引き数に "
979 "B<MPOL_F_STATIC_NODES> と B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
982 #: build/C/man2/mbind.2:375
988 #: build/C/man2/mbind.2:386
990 "B<MPOL_MF_STRICT> was specified and an existing page was already on a node "
991 "that does not follow the policy; or B<MPOL_MF_MOVE> or B<MPOL_MF_MOVE_ALL> "
992 "was specified and the kernel was unable to move all existing pages in the "
995 "B<MPOL_MF_STRICT> が指定されたが、このポリシーに従っていないノードに すでに"
996 "ページが存在していた。 もしくは B<MPOL_MF_MOVE> か B<MPOL_MF_MOVE_ALL> が指定"
997 "されたが、カーネルが指定された領域内の既存の全てのページを 移動することができ"
1001 #: build/C/man2/mbind.2:386 build/C/man2/set_mempolicy.2:272
1007 #: build/C/man2/mbind.2:389 build/C/man2/set_mempolicy.2:275
1008 msgid "Insufficient kernel memory was available."
1009 msgstr "利用可能なカーネルメモリが十分でなかった。"
1012 #: build/C/man2/mbind.2:389 build/C/man2/migrate_pages.2:97
1013 #: build/C/man2/move_pages.2:178
1018 #. ---------------------------------------------------------------
1020 #: build/C/man2/mbind.2:399
1022 "The I<flags> argument included the B<MPOL_MF_MOVE_ALL> flag and the caller "
1023 "does not have the B<CAP_SYS_NICE> privilege."
1025 "I<flags> 引き数に B<MPOL_MF_MOVE_ALL> フラグが含まれているが、呼び出し元が "
1026 "B<CAP_SYS_NICE> 特権を持たない。"
1029 #: build/C/man2/mbind.2:403
1031 "The B<mbind>() system call was added to the Linux kernel in version 2.6.7."
1033 "B<mbind>() システムコールはバージョン 2.6.7 で Linux カーネルに追加された。"
1036 #: build/C/man2/mbind.2:413
1038 "NUMA policy is not supported on a memory mapped file range that was mapped "
1039 "with the B<MAP_SHARED> flag."
1041 "NUMA ポリシーは、 B<MAP_SHARED> フラグが指定されてマップされたメモリマップ・"
1042 "ファイルの領域では サポートされていない。"
1045 #: build/C/man2/mbind.2:445
1047 "The B<MPOL_DEFAULT> mode can have different effects for B<mbind>() and "
1048 "B<set_mempolicy>(2). When B<MPOL_DEFAULT> is specified for B<set_mempolicy>"
1049 "(2), the process's policy reverts to system default policy or local "
1050 "allocation. When B<MPOL_DEFAULT> is specified for a range of memory using "
1051 "B<mbind>(), any pages subsequently allocated for that range will use the "
1052 "process's policy, as set by B<set_mempolicy>(2). This effectively removes "
1053 "the explicit policy from the specified range, \"falling back\" to a possibly "
1054 "nondefault policy. To select explicit \"local allocation\" for a memory "
1055 "range, specify a I<mode> of B<MPOL_PREFERRED> with an empty set of nodes. "
1056 "This method will work for B<set_mempolicy>(2), as well."
1058 "B<MPOL_DEFAULT> モードは、 B<mbind>() と B<set_mempolicy>(2) で異なる効果を"
1059 "持つことができる。 B<set_mempolicy>(2) で B<MPOL_DEFAULT> が指定された場合、"
1060 "そのプロセスのポリシーはシステムの デフォルトポリシー、すなわちローカルからの"
1061 "割り当て、に戻る。 B<mbind>() を使ってメモリのある領域に B<MPOL_DEFAULT> が"
1062 "指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、 "
1063 "B<set_mempolicy>(2) で設定したのと同じように、そのプロセスのポリシーが適用さ"
1064 "れる。 これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、 デ"
1065 "フォルトのポリシーに「戻す」ことができる。 あるメモリ領域に対して「ローカルか"
1066 "らの割り当て」を明示的に設定するには、 I<mode> に B<MPOL_PREFERRED> を指定"
1067 "し、 I<nodemask> に空集合のノードを指定すればよい。 この方法は "
1068 "B<set_mempolicy>(2) でも通用する。"
1071 #: build/C/man2/mbind.2:449
1073 "Support for huge page policy was added with 2.6.16. For interleave policy "
1074 "to be effective on huge page mappings the policied memory needs to be tens "
1075 "of megabytes or larger."
1077 "2.6.16 でヒュージページ・ポリシーへの対応が追加された。 インターリーブ・ポリ"
1078 "シーがヒュージページのマッピングで効果を持つには、 ポリシーが適用されるメモリ"
1079 "が数十メガバイト以上である必要がある。"
1082 #: build/C/man2/mbind.2:452
1083 msgid "B<MPOL_MF_STRICT> is ignored on huge page mappings."
1084 msgstr "B<MPOL_MF_STRICT> はヒュージページのマッピングでは無視される。"
1087 #: build/C/man2/mbind.2:457
1089 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> are only available on Linux 2.6.16 "
1092 "B<MPOL_MF_MOVE> と B<MPOL_MF_MOVE_ALL> は Linux 2.6.16 以降でのみ利用可能であ"
1096 #: build/C/man2/mbind.2:468
1098 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
1099 "(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1101 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2),\n"
1102 "B<shmat>(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7),\n"
1106 #: build/C/man2/migrate_pages.2:18
1108 msgid "MIGRATE_PAGES"
1109 msgstr "MIGRATE_PAGES"
1112 #: build/C/man2/migrate_pages.2:18
1114 #| msgid "2012-05-09"
1119 #: build/C/man2/migrate_pages.2:21
1120 msgid "migrate_pages - move all pages in a process to another set of nodes"
1121 msgstr "migrate_pages - プロセスの全ページを別のノード集合に移動する"
1124 #: build/C/man2/migrate_pages.2:28
1127 #| "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1128 #| "B< const unsigned long *>I<old_nodes,>\n"
1129 #| "B< const unsigned long *>I<new_nodes);>\n"
1131 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1132 "B< const unsigned long *>I<old_nodes,>\n"
1133 "B< const unsigned long *>I<new_nodes>B<);>\n"
1135 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1136 "B< const unsigned long *>I<old_nodes,>\n"
1137 "B< const unsigned long *>I<new_nodes);>\n"
1140 #: build/C/man2/migrate_pages.2:31 build/C/man2/move_pages.2:30
1141 msgid "Link with I<-lnuma>."
1142 msgstr "I<-lnuma> とリンクする。"
1145 #: build/C/man2/migrate_pages.2:47
1148 #| "B<migrate_pages>() moves all pages of the process I<pid> that are in "
1149 #| "memory nodes I<old_nodes> to the memory nodes in I<new_nodes>. Pages not "
1150 #| "located in any node in I<old_nodes> will not be migrated. As far as "
1151 #| "possible, the kernel maintains the relative topology relationship inside "
1152 #| "I<old_nodes> during the migration to I<new_nodes>."
1154 "B<migrate_pages>() attempts to move all pages of the process I<pid> that "
1155 "are in memory nodes I<old_nodes> to the memory nodes in I<new_nodes>. Pages "
1156 "not located in any node in I<old_nodes> will not be migrated. As far as "
1157 "possible, the kernel maintains the relative topology relationship inside "
1158 "I<old_nodes> during the migration to I<new_nodes>."
1160 "B<MIGRATE_PAGES>() は、メモリノード I<old_nodes> にあるプロセス I<pid>\n"
1161 "の全ページを、メモリノード I<new_nodes> に移動する。I<old_nodes> で\n"
1162 "指定されたメモリノードに置かれていないページは移動されない。\n"
1163 "カーネルは、 I<new_nodes> への移動の際に、 I<old_nodes> 内の相対的な\n"
1164 "トポロジー関係を可能な限り維持しようとする。"
1167 #: build/C/man2/migrate_pages.2:69
1169 "The I<old_nodes> and I<new_nodes> arguments are pointers to bit masks of "
1170 "node numbers, with up to I<maxnode> bits in each mask. These masks are "
1171 "maintained as arrays of unsigned I<long> integers (in the last I<long> "
1172 "integer, the bits beyond those specified by I<maxnode> are ignored). The "
1173 "I<maxnode> argument is the maximum node number in the bit mask plus one "
1174 "(this is the same as in B<mbind>(2), but different from B<select>(2))."
1176 "引き数 I<old_nodes> と I<new_nodes> は、最大で I<maxnode> ビットから\n"
1177 "構成されるノード番号のビットマスクへのポインタである。\n"
1178 "各ビットマスクは符号なし I<long> 整数の配列として管理される\n"
1179 "(I<maxnode> で指定された長さを越えた部分のビットは無視される)。\n"
1180 "引き数 I<maxnode> は最大ノード番号であり、ビットマスクの長さに 1 を\n"
1181 "加えた値となる (これは B<mbind>(2) と同じだが、 B<select>(2) とは違う)。"
1184 #: build/C/man2/migrate_pages.2:83
1186 "The I<pid> argument is the ID of the process whose pages are to be moved. "
1187 "To move pages in another process, the caller must be privileged "
1188 "(B<CAP_SYS_NICE>) or the real or effective user ID of the calling process "
1189 "must match the real or saved-set user ID of the target process. If I<pid> "
1190 "is 0, then B<migrate_pages>() moves pages of the calling process."
1192 "引き数 I<pid> は、移動を行うページの所有者のプロセス ID である。\n"
1193 "別のプロセスのページを移動するには、呼び出したプロセスが特権\n"
1194 "(B<CAP_SYS_NICE>) を持っているか、呼び出したプロセスの実ユーザ ID か\n"
1195 "実効ユーザ ID がページ移動の対象プロセスの実ユーザ ID か saved-set \n"
1196 "ユーザ ID と一致していなければならない。I<pid> が 0 の場合、\n"
1197 "B<migrate_pages>() は呼び出したプロセスのページを移動する。"
1200 #: build/C/man2/migrate_pages.2:88
1202 "Pages shared with another process will only be moved if the initiating "
1203 "process has the B<CAP_SYS_NICE> privilege."
1205 "別のプロセスと共有しているページは、呼び出したプロセスが\n"
1206 "B<CAP_SYS_NICE> 特権を持っている場合にのみ移動される。"
1209 #: build/C/man2/migrate_pages.2:96
1212 #| "On success B<migrate_pages>() returns zero. On error, it returns -1, "
1213 #| "and sets I<errno> to indicate the error."
1215 "On success B<migrate_pages>() returns the number of pages that could not be "
1216 "moved (i.e., a return of zero means that all pages were successfully "
1217 "moved). On error, it returns -1, and sets I<errno> to indicate the error."
1219 "B<migrate_pages>() は成功すると 0 を返す。\n"
1220 "エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
1223 #: build/C/man2/migrate_pages.2:106
1225 "Insufficient privilege (B<CAP_SYS_NICE>) to move pages of the process "
1226 "specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>) to access "
1227 "the specified target nodes."
1229 "I<pid> で指定されたプロセスのページを移動するのに必要な特権\n"
1230 "(B<CAP_SYS_NICE>) がなかった。または、指定された対象ノードにアクセス\n"
1231 "するのに必要な権限 (B<CAP_SYS_NICE>) がなかった。"
1234 #: build/C/man2/migrate_pages.2:106 build/C/man2/move_pages.2:187
1239 #. FIXME There are other errors
1241 #: build/C/man2/migrate_pages.2:112
1242 msgid "No process matching I<pid> could be found."
1243 msgstr "プロセス ID が I<pid> のプロセスが見つからなかった。"
1246 #: build/C/man2/migrate_pages.2:116
1248 "The B<migrate_pages>() system call first appeared on Linux in version "
1250 msgstr "B<migrate_pages>() システムコールは Linux 2.6.16 で初めて登場した。"
1253 #: build/C/man2/migrate_pages.2:130
1255 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1256 "set of nodes that are allowed by the calling process's cpuset. Note that "
1257 "this information is subject to change at any time by manual or automatic "
1258 "reconfiguration of the cpuset."
1260 "呼び出し元プロセスの CPU 集合で許可されているノード集合を取得するには、\n"
1261 "B<MPOL_F_MEMS_ALLOWED> フラグを付けて B<get_mempolicy>(2) を使うこと。\n"
1262 "この情報は、手動/自動に限らず CPU 集合の再構成によりいつでも\n"
1263 "変更されることがある点に注意してほしい。"
1266 #: build/C/man2/migrate_pages.2:142
1268 "Use of B<migrate_pages>() may result in pages whose location (node) "
1269 "violates the memory policy established for the specified addresses (see "
1270 "B<mbind>(2)) and/or the specified process (see B<set_mempolicy>(2)). That "
1271 "is, memory policy does not constrain the destination nodes used by "
1272 "B<migrate_pages>()."
1274 "B<migrate_pages> を使用すると、ページが置かれる場所 (ノード) が、指定\n"
1275 "されたアドレスに対して設定されたメモリポリシー (B<mbind>(2) 参照) や\n"
1276 "指定されたプロセスに対して設定されたメモリポリシー\n"
1277 "(B<set_mempolicy>(2) 参照) に違反する状況になる可能性がある。\n"
1278 "すなわち、メモリポリシーによる制約は B<migrate_pages>() による移動先\n"
1279 "ノードの選択には適用されないということである。"
1282 #: build/C/man2/migrate_pages.2:148 build/C/man2/move_pages.2:225
1284 "The I<E<lt>numaif.hE<gt>> header is not included with glibc, but requires "
1285 "installing I<libnuma-devel> or a similar package."
1287 "ヘッダファイル I<E<lt>numaif.hE<gt>> は glibc には含まれておらず、 I<libnuma-"
1288 "devel> か同様のパッケージをインストールする必要がある。"
1291 #: build/C/man2/migrate_pages.2:158 build/C/man2/move_pages.2:235
1293 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1294 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1297 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1298 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1302 #: build/C/man2/migrate_pages.2:161
1303 msgid "I<Documentation/vm/page_migration> in the Linux kernel source tree"
1307 #: build/C/man2/move_pages.2:18
1313 #: build/C/man2/move_pages.2:18
1319 #: build/C/man2/move_pages.2:21
1320 msgid "move_pages - move individual pages of a process to another node"
1321 msgstr "move_pages - あるプロセスの個々のページを別のノードに移動する"
1324 #: build/C/man2/move_pages.2:27
1327 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1328 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1330 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1331 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1334 #: build/C/man2/move_pages.2:43
1336 "B<move_pages>() moves the specified I<pages> of the process I<pid> to the "
1337 "memory nodes specified by I<nodes>. The result of the move is reflected in "
1338 "I<status>. The I<flags> indicate constraints on the pages to be moved."
1340 "B<move_pages>() は、プロセス I<pid> の指定されたページ I<pages> を I<nodes> "
1341 "で指定されたメモリノードに移動する。 移動の結果は I<status> に反映される。 "
1342 "I<flags> では移動されるページに関する制約を指定する。"
1345 #: build/C/man2/move_pages.2:56
1347 "I<pid> is the ID of the process in which pages are to be moved. To move "
1348 "pages in another process, the caller must be privileged (B<CAP_SYS_NICE>) "
1349 "or the real or effective user ID of the calling process must match the real "
1350 "or saved-set user ID of the target process. If I<pid> is 0, then "
1351 "B<move_pages>() moves pages of the calling process."
1353 "I<pid> は、移動されるページが属するプロセスの ID である。 別のプロセスのペー"
1354 "ジを移動するためには、呼び出し元が特権 (B<CAP_SYS_NICE>) を持っているか、呼"
1355 "び出したプロセスの実ユーザ ID か実効ユーザ ID が ページ移動対象のプロセスの実"
1356 "ユーザ ID か保存 set-user-ID のどちらかと 一致しなければならない。 I<pid> が "
1357 "0 の場合、 B<move_pages>() は呼び出したプロセスのページを移動する。"
1360 #: build/C/man2/move_pages.2:64
1362 "I<count> is the number of pages to move. It defines the size of the three "
1363 "arrays I<pages>, I<nodes>, and I<status>."
1365 "I<count> は移動するページ数である。 I<count> により I<pages>, I<nodes>, "
1366 "I<status> の 3 つの配列の大きさが定義される。"
1368 #. FIXME what if they are not aligned?
1370 #: build/C/man2/move_pages.2:71
1372 "I<pages> is an array of pointers to the pages that should be moved. These "
1373 "are pointers that should be aligned to page boundaries. Addresses are "
1374 "specified as seen by the process specified by I<pid>."
1376 "I<pages> は、移動すべきページへのポインタの配列であり、 各ポインタはページ境"
1377 "界に揃えた値を指定すべきである。 I<pid> で指定されたプロセスで見えるアドレス"
1381 #: build/C/man2/move_pages.2:84
1383 "I<nodes> is an array of integers that specify the desired location for each "
1384 "page. Each element in the array is a node number. I<nodes> can also be "
1385 "NULL, in which case B<move_pages>() does not move any pages but instead "
1386 "will return the node where each page currently resides, in the I<status> "
1387 "array. Obtaining the status of each page may be necessary to determine "
1388 "pages that need to be moved."
1390 "I<nodes> は、各ページの希望の移動場所を示す整数値の配列であり、 配列の各要素"
1391 "はノード番号である。 I<nodes> には NULL を指定することもでき、この場合には "
1392 "B<move_pages>() はどのページも移動しないが、各ページが現在配置されているノー"
1393 "ドを配列 I<status> に格納して返す。どのページを移動する必要があるかを判断する"
1394 "ために、 各ページの状態の取得が必要な場合もある。"
1397 #: build/C/man2/move_pages.2:90
1399 "I<status> is an array of integers that return the status of each page. The "
1400 "array only contains valid values if B<move_pages>() did not return an error."
1402 "I<status> は、各ページの状態を表す整数値の配列である。 この配列に有効な値が格"
1403 "納されるのは、 B<move_pages>() がエラーを返さなかった場合だけである。"
1406 #: build/C/man2/move_pages.2:102
1408 "I<flags> specify what types of pages to move. B<MPOL_MF_MOVE> means that "
1409 "only pages that are in exclusive use by the process are to be moved. "
1410 "B<MPOL_MF_MOVE_ALL> means that pages shared between multiple processes can "
1411 "also be moved. The process must be privileged (B<CAP_SYS_NICE>) to use "
1412 "B<MPOL_MF_MOVE_ALL>."
1414 "I<flags> には、どの種類のページを移動するかを指定する。 B<MPOL_MF_MOVE> は、"
1415 "そのプロセスが排他的に使用しているページだけを移動することを意味する。 "
1416 "B<MPOL_MF_MOVE_ALL> は、複数のプロセス間で共有されているページも移動できるこ"
1417 "とを意味する。 B<MPOL_MF_MOVE_ALL> を使用するためには、そのプロセスが特権 "
1418 "(B<CAP_SYS_NICE>) を持っていなければならない。"
1421 #: build/C/man2/move_pages.2:102
1423 msgid "Page states in the status array"
1424 msgstr "status 配列に格納されるページ状態"
1427 #: build/C/man2/move_pages.2:106
1429 "The following values can be returned in each element of the I<status> array."
1430 msgstr "I<status> 配列の各要素として、以下の値が返される。"
1433 #: build/C/man2/move_pages.2:106
1435 msgid "B<0..MAX_NUMNODES>"
1436 msgstr "B<0..MAX_NUMNODES>"
1439 #: build/C/man2/move_pages.2:109
1440 msgid "Identifies the node on which the page resides."
1441 msgstr "そのページが配置されているノードを示す。"
1444 #: build/C/man2/move_pages.2:109
1450 #: build/C/man2/move_pages.2:114
1452 "The page is mapped by multiple processes and can only be moved if "
1453 "B<MPOL_MF_MOVE_ALL> is specified."
1455 "そのページは複数のプロセスによりマップされており、 B<MPOL_MF_MOVE_ALL> が指定"
1459 #: build/C/man2/move_pages.2:114
1465 #: build/C/man2/move_pages.2:120
1467 "The page is currently busy and cannot be moved. Try again later. This "
1468 "occurs if a page is undergoing I/O or another kernel subsystem is holding a "
1469 "reference to the page."
1471 "そのページが現在ビジーであり、移動できない。後でもう一度試すこと。 この状況"
1472 "は、ページが I/O の実行中であったり、カーネルの他のサブシステム がそのページ"
1473 "への参照を保持している場合に発生する。"
1476 #: build/C/man2/move_pages.2:120
1482 #: build/C/man2/move_pages.2:123
1483 msgid "This is a zero page or the memory area is not mapped by the process."
1485 "そのページが zero page であるか、そのメモリ領域はそのプロセスにより マップさ"
1489 #: build/C/man2/move_pages.2:123
1495 #: build/C/man2/move_pages.2:130
1497 "Unable to write back a page. The page has to be written back in order to "
1498 "move it since the page is dirty and the file system does not provide a "
1499 "migration function that would allow the move of dirty pages."
1501 "ページを書き戻す (write back) ことができない。 ページが dirty で、ファイルシ"
1502 "ステムが dirty なページを移動できるような 移動機能を提供していないため、その"
1503 "ページを移動するためにはページを 書き戻さなければならない。"
1506 #: build/C/man2/move_pages.2:130
1512 #: build/C/man2/move_pages.2:135
1514 "A dirty page cannot be moved. The file system does not provide a migration "
1515 "function and has no ability to write back pages."
1517 "dirty なページを移動できない。 ファイルシステムが dirty なページを移動するた"
1518 "めの機能を提供しておらず、 ページを書き戻す能力もない。"
1521 #: build/C/man2/move_pages.2:135
1527 #: build/C/man2/move_pages.2:138
1528 msgid "The page is not present."
1532 #: build/C/man2/move_pages.2:138
1538 #: build/C/man2/move_pages.2:141
1539 msgid "Unable to allocate memory on target node."
1540 msgstr "移動先のノードでメモリを確保することができない。"
1542 #. FIXME Is the following quite true: does the wrapper in numactl
1543 #. do the right thing?
1545 #: build/C/man2/move_pages.2:150
1547 "On success B<move_pages>() returns zero. On error, it returns -1, and sets "
1548 "I<errno> to indicate the error."
1550 "成功すると、 B<move_pages>() は 0 を返す。 エラーの場合、-1 を返し、 "
1551 "I<errno> にエラーを示す値を設定する。"
1554 #: build/C/man2/move_pages.2:151
1560 #: build/C/man2/move_pages.2:154
1561 msgid "Too many pages to move."
1562 msgstr "移動すべきページが多過ぎる。"
1565 #: build/C/man2/move_pages.2:154
1570 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1573 #: build/C/man2/move_pages.2:159
1574 msgid "One of the target nodes is not allowed by the current cpuset."
1575 msgstr "移動先のノードのいずれかが現在の CPU 集合では許可されていない。"
1578 #: build/C/man2/move_pages.2:162
1579 msgid "Parameter array could not be accessed."
1580 msgstr "パラメータ配列にアクセスできなかった。"
1583 #: build/C/man2/move_pages.2:169
1585 "Flags other than B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> was specified or an "
1586 "attempt was made to migrate pages of a kernel thread."
1588 "I<flags> に B<MPOL_MF_MOVE> でも B<MPOL_MF_MOVE_ALL> でもない値が指定された"
1589 "か、カーネルスレッドのページを移動させようとした。"
1592 #: build/C/man2/move_pages.2:169
1598 #: build/C/man2/move_pages.2:172
1599 msgid "One of the target nodes is not online."
1600 msgstr "移動先のノードのいずれかがオンラインでない。"
1603 #: build/C/man2/move_pages.2:172
1609 #: build/C/man2/move_pages.2:178
1611 "No pages were found that require moving. All pages are either already on "
1612 "the target node, not present, had an invalid address or could not be moved "
1613 "because they were mapped by multiple processes."
1615 "移動が必要なページが全く見つからなかった。 指定された全てのページが、すでに移"
1616 "動先のノードに存在するか、存在しないか、 無効なアドレスであったか、複数のプロ"
1617 "セスによってマップされていて移動でき なかったか、のいずれかであった。"
1620 #: build/C/man2/move_pages.2:187
1622 "The caller specified B<MPOL_MF_MOVE_ALL> without sufficient privileges "
1623 "(B<CAP_SYS_NICE>). Or, the caller attempted to move pages of a process "
1624 "belonging to another user but did not have privilege to do so "
1625 "(B<CAP_SYS_NICE>)."
1627 "呼び出し元は B<MPOL_MF_MOVE_ALL> を指定したが、十分な特権 (B<CAP_SYS_NICE>) "
1628 "を持っていない。 または、呼び出し元が他のユーザに属するプロセスのページを移動"
1629 "しようとしたが、 それを行えるだけの特権 (B<CAP_SYS_NICE>) を持っていなかっ"
1633 #: build/C/man2/move_pages.2:190
1634 msgid "Process does not exist."
1635 msgstr "プロセスが存在しない。"
1638 #: build/C/man2/move_pages.2:193
1639 msgid "B<move_pages>() first appeared on Linux in version 2.6.18."
1640 msgstr "B<move_pages>() は、バージョン 2.6.18 で初めて Linux に登場した。"
1642 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1645 #: build/C/man2/move_pages.2:209
1647 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1648 "set of nodes that are allowed by the current cpuset. Note that this "
1649 "information is subject to change at any time by manual or automatic "
1650 "reconfiguration of the cpuset."
1652 "現在の CPU 集合で許可されているノードの集合を取得するには、フラグ "
1653 "B<MPOL_F_MEMS_ALLOWED> を指定して B<get_mempolicy>(2) を使用すればよい。 取"
1654 "得した情報は、CPU 集合の手動または自動での再構成により いつ何時変化してしまう"
1658 #: build/C/man2/move_pages.2:219
1660 "Use of this function may result in pages whose location (node) violates the "
1661 "memory policy established for the specified addresses (See B<mbind>(2)) and/"
1662 "or the specified process (See B<set_mempolicy>(2)). That is, memory policy "
1663 "does not constrain the destination nodes used by B<move_pages>()."
1665 "この関数を使用すると、ページの位置 (ノード) が 指定されたアドレスに対して設定"
1666 "されたメモリポリシー (B<mbind>(2) 参照) や指定されたプロセスに対して設定され"
1667 "たメモリポリシー (B<set_mempolicy>(2) 参照) に違反してしまう可能性がある。 "
1668 "つまり、メモリポリシーは B<move_pages>() で使われる移動先ノードを制限しない"
1672 #: build/C/man7/numa.7:29
1678 #: build/C/man7/numa.7:29
1680 #| msgid "2012-05-09"
1685 #: build/C/man7/numa.7:32
1686 msgid "numa - overview of Non-Uniform Memory Architecture"
1687 msgstr "numa - 非対称型メモリアーキテクチャの概要"
1690 #: build/C/man7/numa.7:43
1692 "Non-Uniform Memory Access (NUMA) refers to multiprocessor systems whose "
1693 "memory is divided into multiple memory nodes. The access time of a memory "
1694 "node depends on the relative locations of the accessing CPU and the accessed "
1695 "node. (This contrasts with a symmetric multiprocessor system, where the "
1696 "access time for all of the memory is the same for all CPUs.) Normally, each "
1697 "CPU on a NUMA system has a local memory node whose contents can be accessed "
1698 "faster than the memory in the node local to another CPU or the memory on a "
1699 "bus shared by all CPUs."
1701 "非対称型メモリアクセス (Non-Uniform Memory Access; NUMA) は、\n"
1702 "メモリが複数のメモリノードに分割されているマルチプロセッサシステム\n"
1703 "のことである。メモリノードへのアクセス時間は、アクセス元の CPU と\n"
1704 "アクセス先のノードの相対的な位置関係に依存する\n"
1705 "(これに対し、対称型マルチプロセッサシステムでは、どの CPU から\n"
1706 "どのメモリへのアクセス時間も同じである)。\n"
1707 "通常は、 NUMA システムの各 CPU にはローカルのメモリノードがあり、\n"
1708 "そのメモリノードには、他の CPU のローカルノードや全ての CPU で\n"
1709 "共有されるバス上のメモリよりも早くアクセスすることができる。"
1712 #: build/C/man7/numa.7:43
1714 msgid "NUMA system calls"
1715 msgstr "NUMA システムコール"
1718 #: build/C/man7/numa.7:54
1720 "The Linux kernel implements the following NUMA-related system calls: "
1721 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2), B<move_pages>(2), and "
1722 "B<set_mempolicy>(2). However, applications should normally use the "
1723 "interface provided by I<libnuma>; see \"Library Support\" below."
1725 "Linux カーネルには、次に示す NUMA 関連のシステムコールが実装されている:\n"
1726 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2),\n"
1727 "B<move_pages>(2), B<set_mempolicy>(2).\n"
1728 "ただし、アプリケーションは通常は I<libnuma> が提供するインターフェース\n"
1729 "を使用すべきである。下記の「ライブラリによるサポート」を参照。"
1732 #: build/C/man7/numa.7:54
1734 #| msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1735 msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1736 msgstr "/proc/[number]/numa_maps (Linux 2.6.14 以降)"
1738 #. See also Changelog-2.6.14
1740 #: build/C/man7/numa.7:58
1742 "This file displays information about a process's NUMA memory policy and "
1745 "このファイルは、プロセスの NUMA メモリポリシーと割り当てに関する\n"
1749 #: build/C/man7/numa.7:62
1751 "Each line contains information about a memory range used by the process, "
1752 "displaying\\(emamong other information\\(emthe effective memory policy for "
1753 "that memory range and on which nodes the pages have been allocated."
1757 #: build/C/man7/numa.7:70
1759 "I<numa_maps> is a read-only file. When I</proc/E<lt>pidE<gt>/numa_maps> is "
1760 "read, the kernel will scan the virtual address space of the process and "
1761 "report how memory is used. One line is displayed for each unique memory "
1762 "range of the process."
1766 #: build/C/man7/numa.7:77
1768 "The first field of each line shows the starting address of the memory "
1769 "range. This field allows a correlation with the contents of the I</proc/"
1770 "E<lt>pidE<gt>/maps> file, which contains the end address of the range and "
1771 "other information, such as the access permissions and sharing."
1775 #: build/C/man7/numa.7:85
1777 "The second field shows the memory policy currently in effect for the memory "
1778 "range. Note that the effective policy is not necessarily the policy "
1779 "installed by the process for that memory range. Specifically, if the "
1780 "process installed a \"default\" policy for that range, the effective policy "
1781 "for that range will be the process policy, which may or may not be \"default"
1786 #: build/C/man7/numa.7:88
1788 "The rest of the line contains information about the pages allocated in the "
1789 "memory range, as follows:"
1793 #: build/C/man7/numa.7:88
1795 msgid "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1796 msgstr "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1799 #: build/C/man7/numa.7:101
1801 "The number of pages allocated on I<E<lt>nodeE<gt>>. I<E<lt>nr_pagesE<gt>> "
1802 "includes only pages currently mapped by the process. Page migration and "
1803 "memory reclaim may have temporarily unmapped pages associated with this "
1804 "memory range. These pages may only show up again after the process has "
1805 "attempted to reference them. If the memory range represents a shared memory "
1806 "area or file mapping, other processes may currently have additional pages "
1807 "mapped in a corresponding memory range."
1811 #: build/C/man7/numa.7:101
1813 msgid "I<file=E<lt>filenameE<gt>>"
1814 msgstr "I<file=E<lt>filenameE<gt>>"
1817 #: build/C/man7/numa.7:107
1819 "The file backing the memory range. If the file is mapped as private, write "
1820 "accesses may have generated COW (Copy-On-Write) pages in this memory range. "
1821 "These pages are displayed as anonymous pages."
1825 #: build/C/man7/numa.7:107
1831 #: build/C/man7/numa.7:110
1832 msgid "Memory range is used for the heap."
1833 msgstr "ヒープに使用されているメモリ範囲。"
1836 #: build/C/man7/numa.7:110
1842 #: build/C/man7/numa.7:113
1843 msgid "Memory range is used for the stack."
1844 msgstr "スタックに使用されているメモリ範囲。"
1847 #: build/C/man7/numa.7:113
1853 #: build/C/man7/numa.7:117
1855 "Huge memory range. The page counts shown are huge pages and not regular "
1858 "ヒュージメモリの範囲。表示されるページ数は、\n"
1859 "通常の大きさのページではなく、ヒュージページの数である。"
1862 #: build/C/man7/numa.7:117
1864 msgid "I<anon=E<lt>pagesE<gt>>"
1865 msgstr "I<anon=E<lt>pagesE<gt>>"
1868 #: build/C/man7/numa.7:120
1869 msgid "The number of anonymous page in the range."
1870 msgstr "メモリ範囲内の無名ページ (anonymous page) の数。"
1873 #: build/C/man7/numa.7:120
1875 msgid "I<dirty=E<lt>pagesE<gt>>"
1876 msgstr "I<dirty=E<lt>pagesE<gt>>"
1879 #: build/C/man7/numa.7:123
1880 msgid "Number of dirty pages."
1881 msgstr "dirty (変更された) ページの数。"
1884 #: build/C/man7/numa.7:123
1886 msgid "I<mapped=E<lt>pagesE<gt>>"
1887 msgstr "I<mapped=E<lt>pagesE<gt>>"
1890 #: build/C/man7/numa.7:130
1892 "Total number of mapped pages, if different from I<dirty> and I<anon> pages."
1896 #: build/C/man7/numa.7:130
1898 msgid "I<mapmax=E<lt>countE<gt>>"
1899 msgstr "I<mapmax=E<lt>countE<gt>>"
1902 #: build/C/man7/numa.7:136
1904 "Maximum mapcount (number of processes mapping a single page) encountered "
1905 "during the scan. This may be used as an indicator of the degree of sharing "
1906 "occurring in a given memory range."
1910 #: build/C/man7/numa.7:136
1912 msgid "I<swapcache=E<lt>countE<gt>>"
1913 msgstr "I<swapcache=E<lt>countE<gt>>"
1916 #: build/C/man7/numa.7:139
1917 msgid "Number of pages that have an associated entry on a swap device."
1921 #: build/C/man7/numa.7:139
1923 msgid "I<active=E<lt>pagesE<gt>>"
1924 msgstr "I<active=E<lt>pagesE<gt>>"
1927 #: build/C/man7/numa.7:145
1929 "The number of pages on the active list. This field is only shown if "
1930 "different from the number of pages in this range. This means that some "
1931 "inactive pages exist in the memory range that may be removed from memory by "
1936 #: build/C/man7/numa.7:145
1938 msgid "I<writeback=E<lt>pagesE<gt>>"
1939 msgstr "I<writeback=E<lt>pagesE<gt>>"
1942 #: build/C/man7/numa.7:148
1943 msgid "Number of pages that are currently being written out to disk."
1947 #: build/C/man7/numa.7:150
1948 msgid "No standards govern NUMA interfaces."
1949 msgstr "NUMA インターフェースについて規定している標準はない。"
1952 #: build/C/man7/numa.7:157
1954 "The Linux NUMA system calls and I</proc> interface are only available if the "
1955 "kernel was configured and built with the B<CONFIG_NUMA> option."
1957 "Linux の NUMA システムコールと I</proc> インターフェースは、カーネルが\n"
1958 "設定オプション B<CONFIG_NUMA> を有効にして作成されている場合のみ、利用\n"
1962 #: build/C/man7/numa.7:157
1964 #| msgid "Library Support"
1965 msgid "Library support"
1966 msgstr "ライブラリによるサポート"
1969 #: build/C/man7/numa.7:166
1971 "Link with I<-lnuma> to get the system call definitions. I<libnuma> and the "
1972 "required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
1975 "システムコールの定義を得るには I<-lnuma> でリンクすること。\n"
1976 "I<libnuma> と必要なヘッダファイル I<E<lt>numaif.hE<gt>> は\n"
1977 "I<numactl> パッケージで提供されている。"
1980 #: build/C/man7/numa.7:183
1983 #| "However, applications should not use these system calls directly. "
1984 #| "Instead, the higher level interface provided by the B<numa>(3) functions "
1985 #| "in the I<numactl> package is recommended. The I<numactl> package is "
1986 #| "available at I<ftp://oss.sgi.com/www/projects/libnuma/download/>. The "
1987 #| "package is also included in some Linux distributions. Some distributions "
1988 #| "include the development library and header in the separate I<numactl-"
1989 #| "devel> package."
1991 "However, applications should not use these system calls directly. Instead, "
1992 "the higher level interface provided by the B<numa>(3) functions in the "
1993 "I<numactl> package is recommended. The I<numactl> package is available at "
1994 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE .> "
1995 "The package is also included in some Linux distributions. Some "
1996 "distributions include the development library and header in the separate "
1997 "I<numactl-devel> package."
1999 "ただし、アプリケーションはこれらのシステムコールを直接利用すべきでない。\n"
2000 "推奨される方法は、I<numactl> パッケージの B<numa>(3) の関数群が提供する\n"
2001 "高レベルインターフェースの利用である。 I<numactl> パッケージは\n"
2002 "I<ftp://oss.sgi.com/www/projects/libnuma/download/> で入手できる。\n"
2003 "このパッケージが収録されている Linux ディストリビューションもある。\n"
2004 "ディストリビューションによっては、開発用のライブラリとヘッダファイルは\n"
2005 "別パッケージ I<numactl-devel> で提供されている。"
2008 #: build/C/man7/numa.7:191
2010 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
2011 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
2013 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
2014 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
2017 #: build/C/man2/set_mempolicy.2:27
2019 msgid "SET_MEMPOLICY"
2020 msgstr "SET_MEMPOLICY"
2023 #: build/C/man2/set_mempolicy.2:30
2025 "set_mempolicy - set default NUMA memory policy for a process and its children"
2027 "set_mempolicy - プロセスとその子プロセスの NUMA メモリの デフォルトポリシーを"
2031 #: build/C/man2/set_mempolicy.2:36
2034 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
2035 "B< unsigned long >I<maxnode>B<);>\n"
2037 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
2038 "B< unsigned long >I<maxnode>B<);>\n"
2041 #: build/C/man2/set_mempolicy.2:49
2043 "B<set_mempolicy>() sets the NUMA memory policy of the calling process, "
2044 "which consists of a policy mode and zero or more nodes, to the values "
2045 "specified by the I<mode>, I<nodemask> and I<maxnode> arguments."
2047 "B<set_mempolicy>() は、呼び出し元プロセスの NUMA ポリシーを I<policy> に設定"
2048 "する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから構成され、 設定内"
2049 "容は引き数 I<mode>, I<nodemask>, I<maxnode> により指定される。"
2052 #: build/C/man2/set_mempolicy.2:75
2054 "This system call defines the default policy for the process. The process "
2055 "policy governs allocation of pages in the process's address space outside of "
2056 "memory ranges controlled by a more specific policy set by B<mbind>(2). The "
2057 "process default policy also controls allocation of any pages for memory "
2058 "mapped files mapped using the B<mmap>(2) call with the B<MAP_PRIVATE> flag "
2059 "and that are only read [loaded] from by the process and of memory mapped "
2060 "files mapped using the B<mmap>(2) call with the B<MAP_SHARED> flag, "
2061 "regardless of the access type. The policy is only applied when a new page "
2062 "is allocated for the process. For anonymous memory this is when the page is "
2063 "first touched by the application."
2065 "B<set_mempolicy>() は、プロセスのデフォルトポリシーを定める。 プロセスのポリ"
2066 "シーは、 B<mbind>(2) で設定される特定のポリシーにより制御されるメモリ領域以"
2067 "外の プロセスのアドレス空間におけるページの割り当てに適用される。 プロセスの"
2068 "デフォルトポリシーは、 B<MAP_PRIVATE> フラグを指定した B<mmap>(2) を使って"
2069 "マップされたメモリマップ・ファイルに対する読み出し専用 (ロードされるだけ) の"
2070 "ページの割り当てにも適用される。 また、 B<MAP_SHARED> フラグを指定した "
2071 "B<mmap>(2) を使ってマップされたメモリマップ・ファイルに対するページの割り当"
2072 "てにも 適用される (この場合はページのアクセス種別に関わらず適用される) 。 設"
2073 "定したポリシーは、プロセスに新規のページが割り当てられるときにのみ 適用され"
2074 "る。無名メモリ (anonymous memory) の場合、新規ページの割り当ては アプリケー"
2075 "ションが初めてページにアクセスした際に行われる。"
2078 #: build/C/man2/set_mempolicy.2:89
2080 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
2081 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All modes except B<MPOL_DEFAULT> "
2082 "require the caller to specify via the I<nodemask> argument one or more nodes."
2084 "I<mode> 引き数には B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
2085 "B<MPOL_PREFERRED> のいずれか一つを指定してしなければならない。 "
2086 "B<MPOL_DEFAULT> 以外のポリシーの場合、呼び出し元は I<nodemask> 引き数で一つ以"
2090 #: build/C/man2/set_mempolicy.2:97
2092 "The I<mode> argument may also include an optional I<mode flag>. The "
2093 "supported I<mode flags> are:"
2095 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
2096 "れている I<モードフラグ> は以下の通りである。"
2099 #: build/C/man2/set_mempolicy.2:97
2101 msgid "B<MPOL_F_STATIC_NODES> (since Linux 2.6.26)"
2102 msgstr "B<MPOL_F_STATIC_NODES> (Linux 2.6.26 以降)"
2105 #: build/C/man2/set_mempolicy.2:107
2107 "A nonempty I<nodemask> specifies physical node ids. Linux does will not "
2108 "remap the I<nodemask> when the process moves to a different cpuset context, "
2109 "nor when the set of nodes allowed by the process's current cpuset context "
2112 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
2113 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
2114 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
2115 "I<nodemask> をマッピングし直すことはない。"
2118 #: build/C/man2/set_mempolicy.2:107
2120 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux 2.6.26)"
2121 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux 2.6.26 以降)"
2124 #: build/C/man2/set_mempolicy.2:133
2126 "I<nodemask> points to a bit mask of node IDs that contains up to I<maxnode> "
2127 "bits. The bit mask size is rounded to the next multiple of I<sizeof"
2128 "(unsigned long)>, but the kernel will only use bits up to I<maxnode>. A "
2129 "NULL value of I<nodemask> or a I<maxnode> value of zero specifies the empty "
2130 "set of nodes. If the value of I<maxnode> is zero, the I<nodemask> argument "
2133 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノード ID のビットマス"
2134 "クを指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切"
2135 "り上げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
2136 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
2137 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。"
2140 #: build/C/man2/set_mempolicy.2:154
2142 "Where a I<nodemask> is required, it must contain at least one node that is "
2143 "on-line, allowed by the process's current cpuset context, [unless the "
2144 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory. If the "
2145 "B<MPOL_F_STATIC_NODES> is set in I<mode> and a required I<nodemask> contains "
2146 "no nodes that are allowed by the process's current cpuset context, the "
2147 "memory policy reverts to I<local allocation>. This effectively overrides "
2148 "the specified policy until the process's cpuset context includes one or more "
2149 "of the nodes specified by I<nodemask>."
2151 "I<nodemask> が必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現"
2152 "在の CPU 集合コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラ"
2153 "グが指定されていない場合)、メモリがあるノードが 少なくとも一つ入っていなけれ"
2154 "ばならない。 I<mode> に B<MPOL_F_STATIC_NODES> がセットされ、 I<nodemask> が"
2155 "必須の場面で、 I<nodemask> に、そのプロセスの現在の CPU 集合コンテキストで許"
2156 "可されたノードが 一つも含まれていない場合には、メモリのポリシーとしてデフォル"
2157 "トの 「ローカルから割り当て (local allocation)」が適用される。 そのプロセス"
2158 "の CPU 集合コンテキストが I<nodemask> で指定されたノードを少なくとも一つ含む"
2159 "ようになるまでは、 結果的に指定された動作が上書きされることになる。"
2162 #: build/C/man2/set_mempolicy.2:165
2164 "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory policy "
2165 "be removed, so that the memory policy \"falls back\" to the system default "
2166 "policy. The system default policy is \"local allocation\"-- i.e., allocate "
2167 "memory on the node of the CPU that triggered the allocation. I<nodemask> "
2168 "must be specified as NULL. If the \"local node\" contains no free memory, "
2169 "the system will attempt to allocate memory from a \"near by\" node."
2171 "B<MPOL_DEFAULT> モードは、デフォルトではないプロセスのメモリポリシーを削除す"
2172 "ることを 指定するものである。これにより、メモリポリシーはシステムの デフォル"
2173 "トポリシーに「戻る」ことになる。 システムのデフォルトポリシーは「ローカルから"
2174 "の割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU "
2175 "のノードのメモリが割り当てられる。 I<nodemask> には NULL を指定しなければなら"
2176 "ない。 「自ノード (local node)」に空きメモリが全くない場合、システムは 「近く"
2177 "の (near by) ノード」からメモリを割り当てようと試みる。"
2180 #: build/C/man2/set_mempolicy.2:182
2182 "The B<MPOL_BIND> mode defines a strict policy that restricts memory "
2183 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
2184 "more than one node, page allocations will come from the node with the lowest "
2185 "numeric node ID first, until that node contains no free memory. Allocations "
2186 "will then come from the node with the next highest node ID specified in "
2187 "I<nodemask> and so forth, until none of the specified nodes contain free "
2188 "memory. Pages will not be allocated from any node not specified in the "
2191 "B<MPOL_BIND> モードは厳密なポリシーで、メモリ割り当ては I<nodemask> に指定さ"
2192 "れたノードに限定される。 I<nodemask> に 2 個以上のノードが指定された場合、"
2193 "ページの割り当ては ノード ID が数字として最小のノードから開始され、 そのノー"
2194 "ドに空きメモリがなくなるまでそのノードから ページ割り当てが行われる。そのノー"
2195 "ドに空きメモリがなくなったら、 次に小さなノード ID を持つノードからページ割り"
2196 "当てが行われる。 これを、 I<nodemask> で指定された全てのノードで空きメモリが"
2197 "なくなるまで繰り返す。 I<nodemask> で指定された以外のノードからはページの割り"
2200 #. NOTE: the following sentence doesn't make sense in the context
2201 #. of set_mempolicy() -- no memory area specified.
2202 #. To be effective the memory area should be fairly large,
2203 #. at least 1MB or bigger.
2205 #: build/C/man2/set_mempolicy.2:196
2207 "B<MPOL_INTERLEAVE> interleaves page allocations across the nodes specified "
2208 "in I<nodemask> in numeric node ID order. This optimizes for bandwidth "
2209 "instead of latency by spreading out pages and memory accesses to those pages "
2210 "across multiple nodes. However, accesses to a single page will still be "
2211 "limited to the memory bandwidth of a single node."
2213 "B<MPOL_INTERLEAVE> では、ページ割り当てを I<nodemask> に指定されたノードの間"
2214 "でノード ID の数字順で交互に行う。 このポリシーでは、複数のノードにページを広"
2215 "げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、"
2216 "帯域を最適化する。 ただし、一つのページへのアクセスに関しては依然として一つの"
2220 #: build/C/man2/set_mempolicy.2:213
2222 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
2223 "try to allocate pages from this node first and fall back to \"near by\" "
2224 "nodes if the preferred node is low on free memory. If I<nodemask> specifies "
2225 "more than one node ID, the first node in the mask will be selected as the "
2226 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
2227 "empty set, then the policy specifies \"local allocation\" (like the system "
2228 "default policy discussed above)."
2230 "B<MPOL_PREFERRED> は、割り当て時に優先されるノード (preferred node) を設定す"
2231 "る。 カーネルはまず優先ノードからページ割り当てを行おうとし、 優先ノードに空"
2232 "きメモリが少ない場合に「近くの (near by)」ノードから 割り当てを行う。 "
2233 "I<nodemask> に複数のノード ID が指定された場合は、 I<nodemask> 内の最初のノー"
2234 "ドが優先ノードとして選択される。 引き数 I<nodemask>, I<maxnode> で空集合が指"
2235 "定された場合は、ポリシーは (上述のシステムの デフォルトポリシーと同様に) "
2239 #: build/C/man2/set_mempolicy.2:220
2241 "The process memory policy is preserved across an B<execve>(2), and is "
2242 "inherited by child processes created using B<fork>(2) or B<clone>(2)."
2244 "プロセスのメモリポリシーは B<execve>(2) の前後で保持され、 B<fork>(2) や "
2245 "B<clone>(2) を使って作成された子プロセスに継承される。"
2248 #: build/C/man2/set_mempolicy.2:227
2250 "On success, B<set_mempolicy>() returns 0; on error, -1 is returned and "
2251 "I<errno> is set to indicate the error."
2253 "成功すると、 B<set_mempolicy>() は 0 を返す。エラーの場合、-1 を返し、 "
2254 "I<errno> にエラーを示す値を設定する。"
2257 #: build/C/man2/set_mempolicy.2:272
2259 "I<mode> is invalid. Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> is "
2260 "nonempty, or I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> "
2261 "is empty. Or, I<maxnode> specifies more than a page worth of bits. Or, "
2262 "I<nodemask> specifies one or more node IDs that are greater than the maximum "
2263 "supported node ID. Or, none of the node IDs specified by I<nodemask> are on-"
2264 "line and allowed by the process's current cpuset context, or none of the "
2265 "specified nodes contain memory. Or, the I<mode> argument specified both "
2266 "B<MPOL_F_STATIC_NODES> and B<MPOL_F_RELATIVE_NODES>."
2268 "I<mode> が不正である。 I<mode> が B<MPOL_DEFAULT> で、 I<nodemask> が空ではな"
2269 "い。 I<mode> が B<MPOL_BIND> か B<MPOL_INTERLEAVE> で、 I<nodemask> が空であ"
2270 "る。 I<maxnode> で実際に意味があるビット数より多くのビット数が指定された。 "
2271 "I<nodemask> に、サポートされている最大ノード ID より大きいノードが指定され"
2272 "た。 I<nodemask> に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキ"
2273 "ストで 許可されているノードが一つも含まれていないか、 メモリを含むノードが一"
2274 "つも指定されていない。 I<mode> 引き数に B<MPOL_F_STATIC_NODES> と "
2275 "B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
2278 #: build/C/man2/set_mempolicy.2:279
2280 "The B<set_mempolicy>(), system call was added to the Linux kernel in version "
2283 "B<set_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
2287 #: build/C/man2/set_mempolicy.2:286
2289 "Process policy is not remembered if the page is swapped out. When such a "
2290 "page is paged back in, it will use the policy of the process or memory range "
2291 "that is in effect at the time the page is allocated."
2293 "ページがスワップ・アウトされる場合には、 プロセスポリシーの設定は推奨されな"
2294 "い。 スワップ・アウトされたページがページ・インする際にも、 ページ割り当て時"
2295 "に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。"
2298 #: build/C/man2/set_mempolicy.2:298
2300 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2301 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2303 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2304 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2306 #~ msgid "2010-11-01"
2307 #~ msgstr "2010-11-01"
2310 #~ "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
2311 #~ "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), "
2312 #~ "B<numa_stat>(8);"
2314 #~ "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
2315 #~ "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), "
2316 #~ "B<numa_stat>(8);"
2318 #~ msgid "the kernel source file I<Documentation/vm/page_migration>."
2319 #~ msgstr "カーネルのソースファイル I<Documentation/vm/page_migration>。"
2321 #~ msgid "2008-06-03"
2322 #~ msgstr "2008-06-03"