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: 2012-05-01 04:21+0900\n"
10 "PO-Revision-Date: 2012-05-04 04:57+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:25
22 msgstr "GET_MEMPOLICY"
25 #: build/C/man2/get_mempolicy.2:25 build/C/man2/mbind.2:25
26 #: build/C/man7/numa.7:27 build/C/man2/set_mempolicy.2:25
32 #: build/C/man2/get_mempolicy.2:25 build/C/man2/getcpu.2:7
33 #: build/C/man2/mbind.2:25 build/C/man2/migrate_pages.2:17
34 #: build/C/man2/move_pages.2:18 build/C/man7/numa.7:27
35 #: build/C/man2/set_mempolicy.2:25
41 #: build/C/man2/get_mempolicy.2:25 build/C/man2/getcpu.2:7
42 #: build/C/man2/mbind.2:25 build/C/man2/migrate_pages.2:17
43 #: build/C/man2/move_pages.2:18 build/C/man7/numa.7:27
44 #: build/C/man2/set_mempolicy.2:25
46 msgid "Linux Programmer's Manual"
47 msgstr "Linux Programmer's Manual"
50 #: build/C/man2/get_mempolicy.2:26 build/C/man2/getcpu.2:8
51 #: build/C/man2/mbind.2:26 build/C/man2/migrate_pages.2:18
52 #: build/C/man2/move_pages.2:19 build/C/man7/numa.7:28
53 #: build/C/man2/set_mempolicy.2:26
59 #: build/C/man2/get_mempolicy.2:28
60 msgid "get_mempolicy - Retrieve NUMA memory policy for a process"
61 msgstr "get_mempolicy - プロセスの NUMA メモリのポリシーを取得する"
64 #: build/C/man2/get_mempolicy.2:28 build/C/man2/getcpu.2:10
65 #: build/C/man2/mbind.2:28 build/C/man2/migrate_pages.2:20
66 #: build/C/man2/move_pages.2:21 build/C/man2/set_mempolicy.2:28
72 #: build/C/man2/get_mempolicy.2:30
73 msgid "B<#include E<lt>numaif.hE<gt>>"
74 msgstr "B<#include E<lt>numaif.hE<gt>>"
77 #: build/C/man2/get_mempolicy.2:35
80 "B<int get_mempolicy(int *>I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
81 "B< unsigned long >I<maxnode>B<, unsigned long >I<addr>B<,>\n"
82 "B< unsigned long >I<flags>B<);>\n"
84 "B<int get_mempolicy(int *>I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
85 "B< unsigned long >I<maxnode>B<, unsigned long >I<addr>B<,>\n"
86 "B< unsigned long >I<flags>B<);>\n"
89 #: build/C/man2/get_mempolicy.2:37 build/C/man2/mbind.2:37
90 #: build/C/man2/set_mempolicy.2:36
92 msgid "Link with I<-lnuma>.\n"
93 msgstr "I<-lnuma> でリンクする。\n"
96 #: build/C/man2/get_mempolicy.2:38 build/C/man2/getcpu.2:17
97 #: build/C/man2/mbind.2:38 build/C/man2/migrate_pages.2:30
98 #: build/C/man2/move_pages.2:30 build/C/man7/numa.7:30
99 #: build/C/man2/set_mempolicy.2:37
105 #: build/C/man2/get_mempolicy.2:43
107 "B<get_mempolicy>() retrieves the NUMA policy of the calling process or of a "
108 "memory address, depending on the setting of I<flags>."
110 "B<get_mempolicy>() は、呼び出し元プロセスもしくは指定されたメモリアドレスの "
111 "NUMA ポリシーを I<flags> の設定に従って取得する。"
114 #: build/C/man2/get_mempolicy.2:48 build/C/man2/set_mempolicy.2:52
116 "A NUMA machine has different memory controllers with different distances to "
117 "specific CPUs. The memory policy defines from which node memory is "
118 "allocated for the process."
120 "NUMA (非対称メモリアクセス) マシンでは、CPU により メモリコントローラが異な"
121 "り、距離も異なっている。 メモリポリシーは、どのノードからメモリをそのプロセス"
125 #: build/C/man2/get_mempolicy.2:65
127 "If I<flags> is specified as 0, then information about the calling process's "
128 "default policy (as set by B<set_mempolicy>(2)) is returned. The policy "
129 "returned [I<mode> and I<nodemask>] may be used to restore the process's "
130 "policy to its state at the time of the call to B<get_mempolicy>() using "
131 "B<set_mempolicy>(2)."
133 "I<flags> に 0 が指定された場合、 (B<set_mempolicy>(2) で設定された) 呼び出"
134 "し元プロセスのデフォルトポリシーに関する情報を返す。 返されたポリシー "
135 "[I<mode> と I<nodemask>] を B<set_mempolicy>(2) に渡すことで、そのプロセスの"
136 "ポリシーを B<get_mempolicy>() を呼び出した時点の状態に戻すことができる。"
139 #: build/C/man2/get_mempolicy.2:87
141 "If I<flags> specifies B<MPOL_F_MEMS_ALLOWED> (available since Linux 2.6.24), "
142 "the I<mode> argument is ignored and the set of nodes [memories] that the "
143 "process is allowed to specify in subsequent calls to B<mbind>(2) or "
144 "B<set_mempolicy>(2) [in the absence of any I<mode flags>] is returned in "
145 "I<nodemask>. It is not permitted to combine B<MPOL_F_MEMS_ALLOWED> with "
146 "either B<MPOL_F_ADDR> or B<MPOL_F_NODE>."
148 "I<flags> に B<MPOL_F_MEMS_ALLOWED> (Linux 2.6.24 以降で利用可能) を指定する"
149 "と、 I<mode> 引き数は無視され、 そのプロセスがその後の B<mbind>(2) や "
150 "B<set_mempolicy>(2) で [I<モードフラグ> が指定されていない場合に ] 指定でき"
151 "るノード (メモリ) の集合が I<nodemask> に返される。 B<MPOL_F_MEMS_ALLOWED> "
152 "を、 B<MPOL_F_ADDR> や B<MPOL_F_NODE> と同時に指定することはできない。"
155 #: build/C/man2/get_mempolicy.2:101
157 "If I<flags> specifies B<MPOL_F_ADDR>, then information is returned about the "
158 "policy governing the memory address given in I<addr>. This policy may be "
159 "different from the process's default policy if B<mbind>(2) or one of the "
160 "helper functions described in B<numa>(3) has been used to establish a "
161 "policy for the memory range containing I<addr>."
163 "I<flags> に B<MPOL_F_ADDR> が指定された場合、 I<addr> で指定されたメモリアド"
164 "レスに適用されているポリシーに関する情報を返す。 B<mbind>(2) や B<numa>(3) "
165 "で説明されているヘルパー関数を使って、 I<addr> を含むメモリ領域に対するポリ"
166 "シーが設定されていた場合には、 返されるポリシーはプロセスのデフォルトポリシー"
170 #: build/C/man2/get_mempolicy.2:122
172 "If the I<mode> argument is not NULL, then B<get_mempolicy>() will store the "
173 "policy mode and any optional I<mode flags> of the requested NUMA policy in "
174 "the location pointed to by this argument. If I<nodemask> is not NULL, then "
175 "the nodemask associated with the policy will be stored in the location "
176 "pointed to by this argument. I<maxnode> specifies the number of node IDs "
177 "that can be stored into I<nodemask>\\(emthat is, the maximum node ID plus "
178 "one. The value specified by I<maxnode> is always rounded to a multiple of "
179 "I<sizeof(unsigned long)>."
181 "I<mode> 引き数が NULL でない場合、 B<get_mempolicy>() は要求された NUMA ポリ"
182 "シーのモードと追加の I<モードフラグ> を I<mode> が指す場所に格納する。 "
183 "I<nodemask> が NULL 以外の場合、そのポリシーに対応するノードマスクを この引き"
184 "数が指す場所に格納する。 I<maxnode> には I<nodemask> に格納できるノード ID の"
185 "数、つまり最大ノード ID に 1 を足した値を指定する。 I<maxnode> で指定された値"
186 "は常に I<sizeof(unsigned long)> の倍数に切り上げられる。"
189 #: build/C/man2/get_mempolicy.2:139
191 "If I<flags> specifies both B<MPOL_F_NODE> and B<MPOL_F_ADDR>, "
192 "B<get_mempolicy>() will return the node ID of the node on which the address "
193 "I<addr> is allocated into the location pointed to by I<mode>. If no page "
194 "has yet been allocated for the specified address, B<get_mempolicy>() will "
195 "allocate a page as if the process had performed a read [load] access to that "
196 "address, and return the ID of the node where that page was allocated."
198 "I<flags> で B<MPOL_F_NODE> と B<MPOL_F_ADDR> の両方が指定された場合、 "
199 "B<get_mempolicy>() はアドレス I<addr> が割り当てられているノードのノード ID "
200 "を I<mode> が指す場所に入れて返す。 指定されたアドレスにどのページもまだ割り"
201 "当てられていない場合、 B<get_mempolicy>() は、あたかもそのプロセスがそのアド"
202 "レスに対して読み込みアクセスを 実行したかのようにページの割り当てを行い、ペー"
203 "ジが割り当てられた ノードの ID を返す。"
205 #. Note: code returns next interleave node via 'mode' argument -Lee Schermerhorn
207 #: build/C/man2/get_mempolicy.2:164
209 "If I<flags> specifies B<MPOL_F_NODE>, but not B<MPOL_F_ADDR>, and the "
210 "process's current policy is B<MPOL_INTERLEAVE>, then B<get_mempolicy>() "
211 "will return in the location pointed to by a non-NULL I<mode> argument, the "
212 "node ID of the next node that will be used for interleaving of internal "
213 "kernel pages allocated on behalf of the process. These allocations include "
214 "pages for memory mapped files in process memory ranges mapped using the "
215 "B<mmap>(2) call with the B<MAP_PRIVATE> flag for read accesses, and in "
216 "memory ranges mapped with the B<MAP_SHARED> flag for all accesses."
218 "I<flags> で B<MPOL_F_NODE> は指定されたが、 B<MPOL_F_ADDR> は指定されていない"
219 "場合で、かつ そのプロセスの現在のポリシーが B<MPOL_INTERLEAVE> の場合、 "
220 "B<get_mempolicy>() は、そのプロセスに対して割り当てられたカーネルの内部ペー"
221 "ジで 次にインターリーブ用に使用されるノードのノード ID を、 NULL でない "
222 "I<mode> 引き数が指す場所に入れて返す。 読み込みアクセス用として "
223 "B<MAP_PRIVATE> フラグ付きで B<mmap>(2) したプロセスメモリ領域や、 任意のアク"
224 "セス用として B<MAP_SHARED> フラグ付きで B<mmap>(2) したメモリ領域の、メモリ"
225 "マップされたファイルに対するページも 上記のプロセスに対して割り当てられたペー"
229 #: build/C/man2/get_mempolicy.2:166
230 msgid "Other flag values are reserved."
231 msgstr "他のフラグは予約されている。"
234 #: build/C/man2/get_mempolicy.2:169
235 msgid "For an overview of the possible policies see B<set_mempolicy>(2)."
236 msgstr "設定可能なポリシーの概要については B<set_mempolicy>(2) を参照。"
239 #: build/C/man2/get_mempolicy.2:169 build/C/man2/mbind.2:289
240 #: build/C/man2/migrate_pages.2:87 build/C/man2/move_pages.2:141
241 #: build/C/man2/set_mempolicy.2:218
247 #: build/C/man2/get_mempolicy.2:176
249 "On success, B<get_mempolicy>() returns 0; on error, -1 is returned and "
250 "I<errno> is set to indicate the error."
252 "成功すると、 B<get_mempolicy>() は 0 を返す。エラーの場合、-1 を返し、 "
253 "I<errno> にエラーを示す値を設定する。"
256 #: build/C/man2/get_mempolicy.2:176 build/C/man2/mbind.2:297
257 #: build/C/man2/migrate_pages.2:94 build/C/man2/move_pages.2:150
258 #: build/C/man2/set_mempolicy.2:225
264 #: build/C/man2/get_mempolicy.2:177 build/C/man2/mbind.2:299
265 #: build/C/man2/move_pages.2:159 build/C/man2/set_mempolicy.2:226
271 #: build/C/man2/get_mempolicy.2:184 build/C/man2/set_mempolicy.2:233
273 "Part of all of the memory range specified by I<nodemask> and I<maxnode> "
274 "points outside your accessible address space."
276 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
277 "元がアクセス可能なアドレス空間外を指している。"
280 #: build/C/man2/get_mempolicy.2:184 build/C/man2/mbind.2:307
281 #: build/C/man2/move_pages.2:162 build/C/man2/set_mempolicy.2:233
287 #: build/C/man2/get_mempolicy.2:228
289 "The value specified by I<maxnode> is less than the number of node IDs "
290 "supported by the system. Or I<flags> specified values other than "
291 "B<MPOL_F_NODE> or B<MPOL_F_ADDR>; or I<flags> specified B<MPOL_F_ADDR> and "
292 "I<addr> is NULL, or I<flags> did not specify B<MPOL_F_ADDR> and I<addr> is "
293 "not NULL. Or, I<flags> specified B<MPOL_F_NODE> but not B<MPOL_F_ADDR> and "
294 "the current process policy is not B<MPOL_INTERLEAVE>. Or, I<flags> "
295 "specified B<MPOL_F_MEMS_ALLOWED> with either B<MPOL_F_ADDR> or "
296 "B<MPOL_F_NODE>. (And there are other B<EINVAL> cases.)"
298 "I<maxnode> で指定された値がシステムがサポートするノード ID の数よりも少な"
299 "い。 または、 I<flags> に B<MPOL_F_NODE> でも B<MPOL_F_ADDR> でもない値が指定"
300 "された。 または、 I<flags> に B<MPOL_F_ADDR> が指定されており、 I<addr> が "
301 "NULL である。 または、 I<flags> に B<MPOL_F_ADDR> がされておらず、 I<addr> "
302 "が NULL でない。 または、 I<flags> に B<MPOL_F_NODE> が指定されており、 "
303 "B<MPOL_F_ADDR> が指定されておらず、 プロセスの現在のポリシーが "
304 "B<MPOL_INTERLEAVE> でない。 または、 I<flags> に B<MPOL_F_MEMS_ALLOWED> が指"
305 "定されており、さらに B<MPOL_F_ADDR> か B<MPOL_F_NODE> のいずれかが指定されて"
306 "いる。 (他にも B<EINVAL> となる場合がある。)"
309 #: build/C/man2/get_mempolicy.2:228 build/C/man2/getcpu.2:51
310 #: build/C/man2/mbind.2:379 build/C/man2/migrate_pages.2:110
311 #: build/C/man2/move_pages.2:190 build/C/man2/set_mempolicy.2:273
317 #: build/C/man2/get_mempolicy.2:232
319 "The B<get_mempolicy>() system call was added to the Linux kernel in version "
322 "B<get_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
326 #: build/C/man2/get_mempolicy.2:232 build/C/man2/getcpu.2:54
327 #: build/C/man2/mbind.2:383 build/C/man2/migrate_pages.2:114
328 #: build/C/man2/move_pages.2:193 build/C/man7/numa.7:178
329 #: build/C/man2/set_mempolicy.2:277
331 msgid "CONFORMING TO"
335 #: build/C/man2/get_mempolicy.2:234 build/C/man2/mbind.2:385
336 #: build/C/man2/migrate_pages.2:116 build/C/man2/move_pages.2:195
337 #: build/C/man2/set_mempolicy.2:279
338 msgid "This system call is Linux-specific."
339 msgstr "このシステムコールは Linux 固有である。"
342 #: build/C/man2/get_mempolicy.2:234 build/C/man2/getcpu.2:57
343 #: build/C/man2/mbind.2:385 build/C/man2/migrate_pages.2:116
344 #: build/C/man2/move_pages.2:195 build/C/man7/numa.7:146
345 #: build/C/man2/set_mempolicy.2:279
351 #: build/C/man2/get_mempolicy.2:237 build/C/man2/mbind.2:388
352 #: build/C/man2/migrate_pages.2:119 build/C/man2/move_pages.2:198
353 #: build/C/man2/set_mempolicy.2:287
354 msgid "For information on library support, see B<numa>(7)."
355 msgstr "ライブラリによるサポートについては B<numa>(7) を参照。"
358 #: build/C/man2/get_mempolicy.2:237 build/C/man2/getcpu.2:120
359 #: build/C/man2/mbind.2:437 build/C/man2/migrate_pages.2:146
360 #: build/C/man2/move_pages.2:225 build/C/man7/numa.7:180
361 #: build/C/man2/set_mempolicy.2:287
367 #: build/C/man2/get_mempolicy.2:245
369 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
370 "B<numa>(7), B<numactl>(8)"
372 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
373 "B<numa>(7), B<numactl>(8)"
376 #: build/C/man2/get_mempolicy.2:245 build/C/man2/getcpu.2:126
377 #: build/C/man2/mbind.2:448 build/C/man2/migrate_pages.2:159
378 #: build/C/man2/move_pages.2:235 build/C/man7/numa.7:188
379 #: build/C/man2/set_mempolicy.2:296
385 #: build/C/man2/get_mempolicy.2:252 build/C/man2/getcpu.2:133
386 #: build/C/man2/mbind.2:455 build/C/man2/migrate_pages.2:166
387 #: build/C/man2/move_pages.2:242 build/C/man7/numa.7:195
388 #: build/C/man2/set_mempolicy.2:303
390 "This page is part of release 3.40 of the Linux I<man-pages> project. A "
391 "description of the project, and information about reporting bugs, can be "
392 "found at http://www.kernel.org/doc/man-pages/."
394 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
395 "である。プロジェクトの説明とバグ報告に関する情報は\n"
396 "http://www.kernel.org/doc/man-pages/ に書かれている。"
399 #: build/C/man2/getcpu.2:7
405 #: build/C/man2/getcpu.2:7
411 #: build/C/man2/getcpu.2:10
413 "getcpu - determine CPU and NUMA node on which the calling thread is running"
417 #: build/C/man2/getcpu.2:13
419 msgid "B<#include E<lt>linux/getcpu.hE<gt>>\n"
420 msgstr "B<#include E<lt>linux/getcpu.hE<gt>>\n"
423 #: build/C/man2/getcpu.2:16
425 msgid "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
426 msgstr "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
429 #: build/C/man2/getcpu.2:34
431 "The B<getcpu>() system call identifies the processor and node on which the "
432 "calling thread or process is currently running and writes them into the "
433 "integers pointed to by the I<cpu> and I<node> arguments. The processor is a "
434 "unique small integer identifying a CPU. The node is a unique small "
435 "identifier identifying a NUMA node. When either I<cpu> or I<node> is NULL "
436 "nothing is written to the respective pointer."
440 #: build/C/man2/getcpu.2:36
441 msgid "The third argument to this system call is nowadays unused."
445 #: build/C/man2/getcpu.2:51
447 "The information placed in I<cpu> is only guaranteed to be current at the "
448 "time of the call: unless the CPU affinity has been fixed using "
449 "B<sched_setaffinity>(2), the kernel might change the CPU at any time. "
450 "(Normally this does not happen because the scheduler tries to minimize "
451 "movements between CPUs to keep caches hot, but it is possible.) The caller "
452 "must be prepared to handle the situation when I<cpu> and I<node> are no "
453 "longer the current CPU and node."
457 #: build/C/man2/getcpu.2:54
458 msgid "B<getcpu>() was added in kernel 2.6.19 for x86_64 and i386."
462 #: build/C/man2/getcpu.2:57
463 msgid "B<getcpu>() is Linux specific."
467 #: build/C/man2/getcpu.2:63
469 "Linux makes a best effort to make this call as fast possible. The intention "
470 "of B<getcpu>() is to allow programs to make optimizations with per-CPU data "
471 "or for NUMA optimization."
475 #: build/C/man2/getcpu.2:69
477 "Glibc does not provide a wrapper for this system call; call it using "
478 "B<syscall>(2); or use B<sched_getcpu>(3) instead."
481 #. commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
482 #. Author: Ingo Molnar <mingo@elte.hu>
483 #. Date: Wed Nov 7 18:37:48 2007 +0100
484 #. x86: ignore the sys_getcpu() tcache parameter
485 #. ===== Before kernel 2.6.24: =====
488 #. .IR "struct getcpu_cache"
489 #. that is used as a cache by
491 #. The caller should put the cache into a thread-local variable
492 #. if the process is multithreaded,
493 #. because the cache cannot be shared between different threads.
498 #. will use it to speed up operation.
499 #. The information inside the cache is private to the system call
500 #. and should not be accessed by the user program.
501 #. The information placed in the cache can change between kernel releases.
502 #. When no cache is specified
505 #. but always retrieve the current CPU and node information.
509 #. However, the cached information is only updated once per jiffy (see
511 #. This means that the information could theoretically be out of date,
512 #. although in practice the scheduler's attempt to maintain
513 #. soft CPU affinity means that the information is unlikely to change
514 #. over the course of the caching interval.
516 #: build/C/man2/getcpu.2:120
518 "The I<tcache> argument is unused since Linux 2.6.24. In earlier kernels, if "
519 "this argument was non-NULL, then it specified a pointer to a caller-"
520 "allocated buffer in thread-local storage that was used to provide a caching "
521 "mechanism for B<getcpu>(). Use of the cache could speed B<getcpu>() calls, "
522 "at the cost that there was a very small chance that the returned information "
523 "would be out of date. The caching mechanism was considered to cause "
524 "problems when migrating threads between CPUs, and so the argument is now "
529 #: build/C/man2/getcpu.2:126
531 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
533 msgstr "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>(3), B<cpuset>(7)"
536 #: build/C/man2/mbind.2:25
542 #: build/C/man2/mbind.2:28
543 msgid "mbind - Set memory policy for a memory range"
544 msgstr "mbind - メモリ領域に対してメモリポリシーを設定する"
547 #: build/C/man2/mbind.2:31 build/C/man2/migrate_pages.2:23
548 #: build/C/man2/move_pages.2:24 build/C/man2/set_mempolicy.2:31
550 msgid "B<#include E<lt>numaif.hE<gt>>\n"
551 msgstr "B<#include E<lt>numaif.hE<gt>>\n"
554 #: build/C/man2/mbind.2:35
557 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
558 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
559 "B< unsigned >I<flags>B<);>\n"
561 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
562 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
563 "B< unsigned >I<flags>B<);>\n"
566 #: build/C/man2/mbind.2:48
568 "B<mbind>() sets the NUMA memory policy, which consists of a policy mode and "
569 "zero or more nodes, for the memory range starting with I<addr> and "
570 "continuing for I<len> bytes. The memory policy defines from which node "
571 "memory is allocated."
573 "B<mbind>() は、 I<addr> から始まる長さ I<len> バイトの範囲のメモリに NUMA メ"
574 "モリポリシーを設定する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから"
575 "構成される。 メモリポリシーはどのノードからメモリを割り当てるかを決定する。"
578 #: build/C/man2/mbind.2:70
580 "If the memory range specified by the I<addr> and I<len> arguments includes "
581 "an \"anonymous\" region of memory\\(emthat is a region of memory created "
582 "using the B<mmap>(2) system call with the B<MAP_ANONYMOUS>\\(emor a memory "
583 "mapped file, mapped using the B<mmap>(2) system call with the "
584 "B<MAP_PRIVATE> flag, pages will only be allocated according to the specified "
585 "policy when the application writes [stores] to the page. For anonymous "
586 "regions, an initial read access will use a shared page in the kernel "
587 "containing all zeros. For a file mapped with B<MAP_PRIVATE>, an initial "
588 "read access will allocate pages according to the process policy of the "
589 "process that causes the page to be allocated. This may not be the process "
590 "that called B<mbind>()."
592 "I<addr> と I<len> で指定されたメモリ範囲に、 メモリの「無名」領域 \\(em "
593 "B<MAP_ANONYMOUS> 付きの B<mmap>(2) システムコールを使って作成されたメモリ領"
594 "域 \\(em や B<MAP_PRIVATE> 付きの B<mmap>(2) を使ってマップされたメモリマッ"
595 "プ・ファイルが含まれている場合、 ページが指定されたポリシーに基づいて割り当て"
596 "られるのは、アプリケーション がそのページへの書き込み (データの格納) を行った"
597 "時だけである。 無名領域の場合、最初の読み出しアクセスの際には カーネル内の全"
598 "データが 0 である共有ページが使用される。 B<MAP_PRIVATE> でマップされたファイ"
599 "ルの場合、最初の読み出しアクセスがあると、 ページ割り当てが発生するきっかけと"
600 "なったプロセスのデフォルトポリシー にしたがってページの割り当てが行われる。 "
601 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセス"
605 #: build/C/man2/mbind.2:78
607 "The specified policy will be ignored for any B<MAP_SHARED> mappings in the "
608 "specified memory range. Rather the pages will be allocated according to the "
609 "process policy of the process that caused the page to be allocated. Again, "
610 "this may not be the process that called B<mbind>()."
612 "指定されたメモリ範囲内にある B<MAP_SHARED> のマッピングでは指定されたポリシー"
613 "は無視され、 ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリ"
614 "シーに したがってページの割り当てが行われることになる。 繰り返しになるが、"
615 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセス"
619 #: build/C/man2/mbind.2:95
621 "If the specified memory range includes a shared memory region created using "
622 "the B<shmget>(2) system call and attached using the B<shmat>(2) system "
623 "call, pages allocated for the anonymous or shared memory region will be "
624 "allocated according to the policy specified, regardless which process "
625 "attached to the shared memory segment causes the allocation. If, however, "
626 "the shared memory region was created with the B<SHM_HUGETLB> flag, the huge "
627 "pages will be allocated according to the policy specified only if the page "
628 "allocation is caused by the process that calls B<mbind>() for that region."
630 "指定されたメモリ範囲に、 B<shmget>(2) システムコールを使って作成されたり、 "
631 "B<shmat>(2) システムコールを使って付加 (attach) されたりした共有メモリ領域"
632 "が 含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、 共"
633 "有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て のきっかけ"
634 "となったかに関わらず、指定されたポリシーにしたがって割り当て が行われる。 し"
635 "かしながら、共有メモリ領域が B<SHM_HUGETLB> フラグを指定して作成された場合に"
636 "は、ヒュージページ (huge page) の割り当てが 指定されたポリシーにしたがって行"
637 "われるのは、その領域に対して B<mbind>() を呼び出したプロセスがページ割り当て"
641 #: build/C/man2/mbind.2:106
643 "By default, B<mbind>() only has an effect for new allocations; if the pages "
644 "inside the range have been already touched before setting the policy, then "
645 "the policy has no effect. This default behavior may be overridden by the "
646 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> flags described below."
648 "デフォルトでは、 B<mbind>() は新規のメモリ割り当てに対してのみ効果を持つ。 "
649 "ポリシーが設定される前にすでに使用されている範囲内のページに対しては、 ポリ"
650 "シーは影響しない。 このデフォルトの動作は、以下で説明するフラグ "
651 "B<MPOL_MF_MOVE> や B<MPOL_MF_MOVE_ALL> により上書きされる可能性がある。"
654 #: build/C/man2/mbind.2:121
656 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
657 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All policy modes except "
658 "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> argument, "
659 "the node or nodes to which the mode applies."
661 "I<mode> 引き数には、 B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
662 "B<MPOL_PREFERRED> のいずれか一つを指定しなければならない。 B<MPOL_DEFAULT> 以"
663 "外のポリシーモードの場合、呼び出し元は I<nodemask> 引き数でそのポリシーモード"
664 "を適用するノードを指定する必要がある。"
667 #: build/C/man2/mbind.2:129
669 "The I<mode> argument may also include an optional I<mode flag >. The "
670 "supported I<mode flags> are:"
672 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
673 "れている I<モードフラグ> は以下の通りである。"
676 #: build/C/man2/mbind.2:129
678 msgid "B<MPOL_F_STATIC_NODES> (since Linux-2.6.26)"
679 msgstr "B<MPOL_F_STATIC_NODES> (Linux-2.6.26 以降)"
682 #: build/C/man2/mbind.2:139
684 "A nonempty I<nodemask> specifies physical node ids. Linux does not remap "
685 "the I<nodemask> when the process moves to a different cpuset context, nor "
686 "when the set of nodes allowed by the process's current cpuset context "
689 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
690 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
691 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
692 "I<nodemask> をマッピングし直すことはない。"
695 #: build/C/man2/mbind.2:139
697 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux-2.6.26)"
698 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux-2.6.26 以降)"
701 #: build/C/man2/mbind.2:145 build/C/man2/set_mempolicy.2:111
703 "A nonempty I<nodemask> specifies node ids that are relative to the set of "
704 "node ids allowed by the process's current cpuset."
706 "空でない I<nodemask> は、そのプロセスの現在の CPU 集合で許可されているノード "
707 "ID 集合 における相対的なノード ID である。"
710 #: build/C/man2/mbind.2:173
712 "I<nodemask> points to a bitmask of nodes containing up to I<maxnode> bits. "
713 "The bit mask size is rounded to the next multiple of I<sizeof(unsigned long)"
714 ">, but the kernel will only use bits up to I<maxnode>. A NULL value of "
715 "I<nodemask> or a I<maxnode> value of zero specifies the empty set of nodes. "
716 "If the value of I<maxnode> is zero, the I<nodemask> argument is ignored. "
717 "Where a I<nodemask> is required, it must contain at least one node that is "
718 "on-line, allowed by the process's current cpuset context [unless the "
719 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory."
721 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノードのビットマスクを"
722 "指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切り上"
723 "げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
724 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
725 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。 I<nodemask> が"
726 "必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現在の CPU 集合"
727 "コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラグが指定され"
728 "ていない場合)、メモリがあるノードが 少なくとも一つ入っていなければならない。"
731 #: build/C/man2/mbind.2:195
733 "The B<MPOL_DEFAULT> mode requests that any nondefault policy be removed, "
734 "restoring default behavior. When applied to a range of memory via B<mbind>"
735 "(), this means to use the process policy, which may have been set with "
736 "B<set_mempolicy>(2). If the mode of the process policy is also "
737 "B<MPOL_DEFAULT>, the system-wide default policy will be used. The system-"
738 "wide default policy allocates pages on the node of the CPU that triggers the "
739 "allocation. For B<MPOL_DEFAULT>, the I<nodemask> and I<maxnode> arguments "
740 "must be specify the empty set of nodes."
742 "モード B<MPOL_DEFAULT> はデフォルトではないプロセスのメモリポリシーを削除"
743 "し、 デフォルトの動作に戻すことを指定するものである。 B<mbind>() 経由で、あ"
744 "るメモリ領域に対して B<MPOL_DEFAULT> が適用された場合、プロセスのデフォルトポ"
745 "リシーを使用することを意味する。 プロセスのデフォルトポリシーは、 "
746 "B<set_mempolicy>(2) で変更されているかもしれない。 プロセスのポリシーのモー"
747 "ドも B<MPOL_DEFAULT> の場合、システム全体のデフォルトポリシーが使用される。 "
748 "システム全体のデフォルトポリシーでは、割り当てのきっかけとなった CPU のノード"
749 "からページの割り当てを行う。 B<MPOL_DEFAULT> では、引き数 I<nodemask> と "
750 "I<maxnode> にノードの空集合を指定しなければならない。"
753 #: build/C/man2/mbind.2:212
755 "The B<MPOL_BIND> mode specifies a strict policy that restricts memory "
756 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
757 "more than one node, page allocations will come from the node with the lowest "
758 "numeric node ID first, until that node contains no free memory. Allocations "
759 "will then come from the node with the next highest node ID specified in "
760 "I<nodemask> and so forth, until none of the specified nodes contain free "
761 "memory. Pages will not be allocated from any node not specified in the "
764 "B<MPOL_BIND> は厳しいポリシーで、メモリ割り当ては I<nodemask> に指定された"
765 "ノードに限定される。 他のノードへの割り当ては行われない。 I<nodemask> に 2 個"
766 "以上のノードが指定された場合、ページの割り当ては ノード ID が数字として最小の"
767 "ノードから開始され、 そのノードに空きメモリがなくなるまでそのノードから ペー"
768 "ジ割り当てが行われる。そのノードに空きメモリがなくなったら、 次に小さなノー"
769 "ド ID を持つノードからページ割り当てが行われる。 これを、 I<nodemask> で指定"
770 "された全てのノードで空きメモリがなくなるまで繰り返す。 I<nodemask> で指定され"
771 "た以外のノードからはページの割り当ては行われない。"
774 #: build/C/man2/mbind.2:225
776 "The B<MPOL_INTERLEAVE> mode specifies that page allocations be interleaved "
777 "across the set of nodes specified in I<nodemask>. This optimizes for "
778 "bandwidth instead of latency by spreading out pages and memory accesses to "
779 "those pages across multiple nodes. To be effective the memory area should "
780 "be fairly large, at least 1MB or bigger with a fairly uniform access "
781 "pattern. Accesses to a single page of the area will still be limited to the "
782 "memory bandwidth of a single node."
784 "B<MPOL_INTERLEAVE> は、メモリ割り当てが I<nodemask> に指定されたノード間で交"
785 "互に行われることを指定するものである。 このポリシーでは、複数のノードにページ"
786 "を広げて配置し、これらのページへの メモリアクセスを分散することで、遅延ではな"
787 "く、帯域を最適化する。 効果を得るには、メモリ領域をある程度大きくすべきであ"
788 "り、 メモリアクセスのパターンがかなり均一な場合でも 少なくとも 1MB 以上にすべ"
789 "きである。 このモードでも、一つのページへのアクセスに関しては 一つのノードの"
790 "メモリ帯域が上限となることは変わりない。"
793 #: build/C/man2/mbind.2:244
795 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
796 "try to allocate pages from this node first and fall back to other nodes if "
797 "the preferred nodes is low on free memory. If I<nodemask> specifies more "
798 "than one node ID, the first node in the mask will be selected as the "
799 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
800 "empty set, then the memory is allocated on the node of the CPU that "
801 "triggered the allocation. This is the only way to specify \"local allocation"
802 "\" for a range of memory via B<mbind>()."
804 "B<MPOL_PREFERRED> は、割り当て時に優先されるノードを設定する。 カーネルはまず"
805 "優先ノードにページ割り当てを行おうとし、 優先ノードに空きメモリが少ない場合に"
806 "他のノードに割り当てを行う。 I<nodemask> に複数のノード ID が指定された場合"
807 "は、 I<nodemask> 内の最初のノードが優先ノードとして選択される。 引き数 "
808 "I<nodemask>, I<maxnode> で空集合が指定された場合は、割り当てのきっかけとなっ"
809 "た CPU のノードに メモリ割り当てが行われる。 B<mbind>(2) で、あるメモリ領域"
810 "に対して「ローカルからの割り当て (local allocation)」を 指定する方法はこれし"
813 #. According to the kernel code, the following is not true
814 #. --Lee Schermerhorn
815 #. In 2.6.16 or later the kernel will also try to move pages
816 #. to the requested node with this flag.
818 #: build/C/man2/mbind.2:260
820 "If B<MPOL_MF_STRICT> is passed in I<flags> and I<mode> is not "
821 "B<MPOL_DEFAULT>, then the call will fail with the error B<EIO> if the "
822 "existing pages in the memory range don't follow the policy."
824 "I<flags> に B<MPOL_MF_STRICT> が 指定され、 I<mode> が B<MPOL_DEFAULT> でない"
825 "場合、 指定されたポリシーに従っていないメモリ領域にページが存在すると、 "
826 "B<mbind>() はエラー B<EIO> で失敗する。"
829 #: build/C/man2/mbind.2:273
831 "If B<MPOL_MF_MOVE> is specified in I<flags>, then the kernel will attempt to "
832 "move all the existing pages in the memory range so that they follow the "
833 "policy. Pages that are shared with other processes will not be moved. If "
834 "B<MPOL_MF_STRICT> is also specified, then the call will fail with the error "
835 "B<EIO> if some pages could not be moved."
837 "I<flags> に B<MPOL_MF_MOVE> が指定されると、カーネルはそのメモリ領域内の既存"
838 "の全てのページを移動し、 指定されたポリシーに従うようにしようとする。 他のプ"
839 "ロセスと共有されているページは移動されない。 B<MPOL_MF_STRICT> も指定された場"
840 "合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗する。"
842 #. ---------------------------------------------------------------
844 #: build/C/man2/mbind.2:289
846 "If B<MPOL_MF_MOVE_ALL> is passed in I<flags>, then the kernel will attempt "
847 "to move all existing pages in the memory range regardless of whether other "
848 "processes use the pages. The calling process must be privileged "
849 "(B<CAP_SYS_NICE>) to use this flag. If B<MPOL_MF_STRICT> is also "
850 "specified, then the call will fail with the error B<EIO> if some pages could "
853 "I<flags> に B<MPOL_MF_MOVE_ALL> が指定されると、カーネルはそのメモリ領域内の"
854 "既存の全てのページを、 他のプロセスがページを使用しているかどうかに関わらず移"
855 "動する。 このフラグを使用するには、呼び出し元のプロセスは特権 "
856 "(B<CAP_SYS_NICE>) を持っていなければならない。 B<MPOL_MF_STRICT> も指定され"
857 "た場合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗す"
860 #. ---------------------------------------------------------------
862 #: build/C/man2/mbind.2:297
864 "On success, B<mbind>() returns 0; on error, -1 is returned and I<errno> is "
865 "set to indicate the error."
867 "成功すると、 B<mbind>() は 0 を返す。エラーの場合、-1 を返し、 I<errno> にエ"
871 #: build/C/man2/mbind.2:307
873 "Part or all of the memory range specified by I<nodemask> and I<maxnode> "
874 "points outside your accessible address space. Or, there was an unmapped "
875 "hole in the specified memory range."
877 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
878 "元がアクセス可能なアドレス空間外を指している。 もしくは指定されたメモリ領域に"
879 "マップされていない部分 (unmapped hole) があった、"
881 #. As at 2.6.23, this limit is "a page worth of bits", e.g.,
882 #. 8 * 4096 bits, assuming a 4kB page size.
884 #: build/C/man2/mbind.2:355
886 "An invalid value was specified for I<flags> or I<mode>; or I<addr + len> was "
887 "less than I<addr>; or I<addr> is not a multiple of the system page size. "
888 "Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> specified a nonempty set; or "
889 "I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> is empty. Or, "
890 "I<maxnode> exceeds a kernel-imposed limit. Or, I<nodemask> specifies one or "
891 "more node IDs that are greater than the maximum supported node ID. Or, none "
892 "of the node IDs specified by I<nodemask> are on-line and allowed by the "
893 "process's current cpuset context, or none of the specified nodes contain "
894 "memory. Or, the I<mode> argument specified both B<MPOL_F_STATIC_NODES> and "
895 "B<MPOL_F_RELATIVE_NODES>."
897 "I<flags> や I<mode> に不正な値が指定された。 I<addr + len> が I<addr> より小"
898 "さい。 I<addr> がシステムのページサイズの倍数になっていない。 または I<mode> "
899 "が B<MPOL_DEFAULT> で I<nodemask> に空でない集合が指定された。 I<mode> が "
900 "B<MPOL_BIND> か B<MPOL_INTERLEAVE> で I<nodemask> が空であった。 I<maxnode> "
901 "がカーネルに適用された上限を超えている。 I<nodemask> に、サポートされている最"
902 "大ノード ID より大きいノードが指定された。 I<nodemask> に、オンラインで、かつ"
903 "そのプロセスの現在の CPU 集合コンテキストで 許可されているノードが一つも含ま"
904 "れていないか、 メモリを含むノードが一つも指定されていない。 I<mode> 引き数に "
905 "B<MPOL_F_STATIC_NODES> と B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
908 #: build/C/man2/mbind.2:355
914 #: build/C/man2/mbind.2:366
916 "B<MPOL_MF_STRICT> was specified and an existing page was already on a node "
917 "that does not follow the policy; or B<MPOL_MF_MOVE> or B<MPOL_MF_MOVE_ALL> "
918 "was specified and the kernel was unable to move all existing pages in the "
921 "B<MPOL_MF_STRICT> が指定されたが、このポリシーに従っていないノードに すでに"
922 "ページが存在していた。 もしくは B<MPOL_MF_MOVE> か B<MPOL_MF_MOVE_ALL> が指定"
923 "されたが、カーネルが指定された領域内の既存の全てのページを 移動することができ"
927 #: build/C/man2/mbind.2:366 build/C/man2/set_mempolicy.2:270
933 #: build/C/man2/mbind.2:369 build/C/man2/set_mempolicy.2:273
934 msgid "Insufficient kernel memory was available."
935 msgstr "利用可能なカーネルメモリが十分でなかった。"
938 #: build/C/man2/mbind.2:369 build/C/man2/migrate_pages.2:95
939 #: build/C/man2/move_pages.2:178
944 #. ---------------------------------------------------------------
946 #: build/C/man2/mbind.2:379
948 "The I<flags> argument included the B<MPOL_MF_MOVE_ALL> flag and the caller "
949 "does not have the B<CAP_SYS_NICE> privilege."
951 "I<flags> 引き数に B<MPOL_MF_MOVE_ALL> フラグが含まれているが、呼び出し元が "
952 "B<CAP_SYS_NICE> 特権を持たない。"
955 #: build/C/man2/mbind.2:383
957 "The B<mbind>() system call was added to the Linux kernel in version 2.6.7."
959 "B<mbind>() システムコールはバージョン 2.6.7 で Linux カーネルに追加された。"
962 #: build/C/man2/mbind.2:393
964 "NUMA policy is not supported on a memory mapped file range that was mapped "
965 "with the B<MAP_SHARED> flag."
967 "NUMA ポリシーは、 B<MAP_SHARED> フラグが指定されてマップされたメモリマップ・"
968 "ファイルの領域では サポートされていない。"
971 #: build/C/man2/mbind.2:425
973 "The B<MPOL_DEFAULT> mode can have different effects for B<mbind>() and "
974 "B<set_mempolicy>(2). When B<MPOL_DEFAULT> is specified for B<set_mempolicy>"
975 "(2), the process's policy reverts to system default policy or local "
976 "allocation. When B<MPOL_DEFAULT> is specified for a range of memory using "
977 "B<mbind>(), any pages subsequently allocated for that range will use the "
978 "process's policy, as set by B<set_mempolicy>(2). This effectively removes "
979 "the explicit policy from the specified range, \"falling back\" to a possibly "
980 "nondefault policy. To select explicit \"local allocation\" for a memory "
981 "range, specify a I<mode> of B<MPOL_PREFERRED> with an empty set of nodes. "
982 "This method will work for B<set_mempolicy>(2), as well."
984 "B<MPOL_DEFAULT> モードは、 B<mbind>() と B<set_mempolicy>(2) で異なる効果を"
985 "持つことができる。 B<set_mempolicy>(2) で B<MPOL_DEFAULT> が指定された場合、"
986 "そのプロセスのポリシーはシステムの デフォルトポリシー、すなわちローカルからの"
987 "割り当て、に戻る。 B<mbind>() を使ってメモリのある領域に B<MPOL_DEFAULT> が"
988 "指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、 "
989 "B<set_mempolicy>(2) で設定したのと同じように、そのプロセスのポリシーが適用さ"
990 "れる。 これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、 デ"
991 "フォルトのポリシーに「戻す」ことができる。 あるメモリ領域に対して「ローカルか"
992 "らの割り当て」を明示的に設定するには、 I<mode> に B<MPOL_PREFERRED> を指定"
993 "し、 I<nodemask> に空集合のノードを指定すればよい。 この方法は "
994 "B<set_mempolicy>(2) でも通用する。"
997 #: build/C/man2/mbind.2:429
999 "Support for huge page policy was added with 2.6.16. For interleave policy "
1000 "to be effective on huge page mappings the policied memory needs to be tens "
1001 "of megabytes or larger."
1003 "2.6.16 でヒュージページ・ポリシーへの対応が追加された。 インターリーブ・ポリ"
1004 "シーがヒュージページのマッピングで効果を持つには、 ポリシーが適用されるメモリ"
1005 "が数十メガバイト以上である必要がある。"
1008 #: build/C/man2/mbind.2:432
1009 msgid "B<MPOL_MF_STRICT> is ignored on huge page mappings."
1010 msgstr "B<MPOL_MF_STRICT> はヒュージページのマッピングでは無視される。"
1013 #: build/C/man2/mbind.2:437
1015 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> are only available on Linux 2.6.16 "
1018 "B<MPOL_MF_MOVE> と B<MPOL_MF_MOVE_ALL> は Linux 2.6.16 以降でのみ利用可能であ"
1022 #: build/C/man2/mbind.2:448
1024 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
1025 "(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1027 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
1028 "(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1031 #: build/C/man2/migrate_pages.2:17
1033 msgid "MIGRATE_PAGES"
1034 msgstr "MIGRATE_PAGES"
1037 #: build/C/man2/migrate_pages.2:17
1043 #: build/C/man2/migrate_pages.2:20
1044 msgid "migrate_pages - move all pages in a process to another set of nodes"
1048 #: build/C/man2/migrate_pages.2:27
1051 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1052 "B< const unsigned long *>I<old_nodes,>\n"
1053 "B< const unsigned long *>I<new_nodes);>\n"
1055 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1056 "B< const unsigned long *>I<old_nodes,>\n"
1057 "B< const unsigned long *>I<new_nodes);>\n"
1060 #: build/C/man2/migrate_pages.2:30 build/C/man2/move_pages.2:30
1061 msgid "Link with I<-lnuma>."
1062 msgstr "I<-lnuma> とリンクする。"
1065 #: build/C/man2/migrate_pages.2:46
1067 "B<migrate_pages>() moves all pages of the process I<pid> that are in memory "
1068 "nodes I<old_nodes> to the memory nodes in I<new_nodes>. Pages not located "
1069 "in any node in I<old_nodes> will not be migrated. As far as possible, the "
1070 "kernel maintains the relative topology relationship inside I<old_nodes> "
1071 "during the migration to I<new_nodes>."
1075 #: build/C/man2/migrate_pages.2:68
1077 "The I<old_nodes> and I<new_nodes> arguments are pointers to bit masks of "
1078 "node numbers, with up to I<maxnode> bits in each mask. These masks are "
1079 "maintained as arrays of unsigned I<long> integers (in the last I<long> "
1080 "integer, the bits beyond those specified by I<maxnode> are ignored). The "
1081 "I<maxnode> argument is the maximum node number in the bit mask plus one "
1082 "(this is the same as in B<mbind>(2), but different from B<select>(2))."
1086 #: build/C/man2/migrate_pages.2:82
1088 "The I<pid> argument is the ID of the process whose pages are to be moved. "
1089 "To move pages in another process, the caller must be privileged "
1090 "(B<CAP_SYS_NICE>) or the real or effective user ID of the calling process "
1091 "must match the real or saved-set user ID of the target process. If I<pid> "
1092 "is 0, then B<migrate_pages>() moves pages of the calling process."
1096 #: build/C/man2/migrate_pages.2:87
1098 "Pages shared with another process will only be moved if the initiating "
1099 "process has the B<CAP_SYS_NICE> privilege."
1103 #: build/C/man2/migrate_pages.2:94
1105 "On success B<migrate_pages>() returns zero. On error, it returns -1, and "
1106 "sets I<errno> to indicate the error."
1110 #: build/C/man2/migrate_pages.2:104
1112 "Insufficient privilege (B<CAP_SYS_NICE>) to move pages of the process "
1113 "specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>) to access "
1114 "the specified target nodes."
1118 #: build/C/man2/migrate_pages.2:104 build/C/man2/move_pages.2:187
1123 #. FIXME There are other errors
1125 #: build/C/man2/migrate_pages.2:110
1126 msgid "No process matching I<pid> could be found."
1130 #: build/C/man2/migrate_pages.2:114
1132 "The B<migrate_pages>() system call first appeared on Linux in version "
1137 #: build/C/man2/migrate_pages.2:128
1139 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1140 "set of nodes that are allowed by the calling process's cpuset. Note that "
1141 "this information is subject to change at any time by manual or automatic "
1142 "reconfiguration of the cpuset."
1146 #: build/C/man2/migrate_pages.2:140
1148 "Use of B<migrate_pages>() may result in pages whose location (node) "
1149 "violates the memory policy established for the specified addresses (see "
1150 "B<mbind>(2)) and/or the specified process (see B<set_mempolicy>(2)). That "
1151 "is, memory policy does not constrain the destination nodes used by "
1152 "B<migrate_pages>()."
1156 #: build/C/man2/migrate_pages.2:146 build/C/man2/move_pages.2:225
1158 "The I<E<lt>numaif.hE<gt>> header is not included with glibc, but requires "
1159 "installing I<libnuma-devel> or a similar package."
1161 "ヘッダファイル I<E<lt>numaif.hE<gt>> は glibc には含まれておらず、 I<libnuma-"
1162 "devel> か同様のパッケージをインストールする必要がある。"
1165 #: build/C/man2/migrate_pages.2:156
1167 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1168 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1171 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1172 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1176 #: build/C/man2/migrate_pages.2:159
1177 msgid "the kernel source file I<Documentation/vm/page_migration>."
1181 #: build/C/man2/move_pages.2:18
1187 #: build/C/man2/move_pages.2:18
1193 #: build/C/man2/move_pages.2:21
1194 msgid "move_pages - move individual pages of a process to another node"
1195 msgstr "move_pages - あるプロセスの個々のページを別のノードに移動する"
1198 #: build/C/man2/move_pages.2:27
1201 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1202 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1204 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1205 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1208 #: build/C/man2/move_pages.2:43
1210 "B<move_pages>() moves the specified I<pages> of the process I<pid> to the "
1211 "memory nodes specified by I<nodes>. The result of the move is reflected in "
1212 "I<status>. The I<flags> indicate constraints on the pages to be moved."
1214 "B<move_pages>() は、プロセス I<pid> の指定されたページ I<pages> を I<nodes> "
1215 "で指定されたメモリノードに移動する。 移動の結果は I<status> に反映される。 "
1216 "I<flags> では移動されるページに関する制約を指定する。"
1219 #: build/C/man2/move_pages.2:56
1221 "I<pid> is the ID of the process in which pages are to be moved. To move "
1222 "pages in another process, the caller must be privileged (B<CAP_SYS_NICE>) "
1223 "or the real or effective user ID of the calling process must match the real "
1224 "or saved-set user ID of the target process. If I<pid> is 0, then "
1225 "B<move_pages>() moves pages of the calling process."
1227 "I<pid> は、移動されるページが属するプロセスの ID である。 別のプロセスのペー"
1228 "ジを移動するためには、呼び出し元が特権 (B<CAP_SYS_NICE>) を持っているか、呼"
1229 "び出したプロセスの実ユーザ ID か実効ユーザ ID が ページ移動対象のプロセスの実"
1230 "ユーザ ID か保存 set-user-ID のどちらかと 一致しなければならない。 I<pid> が "
1231 "0 の場合、 B<move_pages>() は呼び出したプロセスのページを移動する。"
1234 #: build/C/man2/move_pages.2:64
1236 "I<count> is the number of pages to move. It defines the size of the three "
1237 "arrays I<pages>, I<nodes>, and I<status>."
1239 "I<count> は移動するページ数である。 I<count> により I<pages>, I<nodes>, "
1240 "I<status> の 3 つの配列の大きさが定義される。"
1242 #. FIXME what if they are not aligned?
1244 #: build/C/man2/move_pages.2:71
1246 "I<pages> is an array of pointers to the pages that should be moved. These "
1247 "are pointers that should be aligned to page boundaries. Addresses are "
1248 "specified as seen by the process specified by I<pid>."
1250 "I<pages> は、移動すべきページへのポインタの配列であり、 各ポインタはページ境"
1251 "界に揃えた値を指定すべきである。 I<pid> で指定されたプロセスで見えるアドレス"
1255 #: build/C/man2/move_pages.2:84
1257 "I<nodes> is an array of integers that specify the desired location for each "
1258 "page. Each element in the array is a node number. I<nodes> can also be "
1259 "NULL, in which case B<move_pages>() does not move any pages but instead "
1260 "will return the node where each page currently resides, in the I<status> "
1261 "array. Obtaining the status of each page may be necessary to determine "
1262 "pages that need to be moved."
1264 "I<nodes> は、各ページの希望の移動場所を示す整数値の配列であり、 配列の各要素"
1265 "はノード番号である。 I<nodes> には NULL を指定することもでき、この場合には "
1266 "B<move_pages>() はどのページも移動しないが、各ページが現在配置されているノー"
1267 "ドを配列 I<status> に格納して返す。どのページを移動する必要があるかを判断する"
1268 "ために、 各ページの状態の取得が必要な場合もある。"
1271 #: build/C/man2/move_pages.2:90
1273 "I<status> is an array of integers that return the status of each page. The "
1274 "array only contains valid values if B<move_pages>() did not return an error."
1276 "I<status> は、各ページの状態を表す整数値の配列である。 この配列に有効な値が格"
1277 "納されるのは、 B<move_pages>() がエラーを返さなかった場合だけである。"
1280 #: build/C/man2/move_pages.2:102
1282 "I<flags> specify what types of pages to move. B<MPOL_MF_MOVE> means that "
1283 "only pages that are in exclusive use by the process are to be moved. "
1284 "B<MPOL_MF_MOVE_ALL> means that pages shared between multiple processes can "
1285 "also be moved. The process must be privileged (B<CAP_SYS_NICE>) to use "
1286 "B<MPOL_MF_MOVE_ALL>."
1288 "I<flags> には、どの種類のページを移動するかを指定する。 B<MPOL_MF_MOVE> は、"
1289 "そのプロセスが排他的に使用しているページだけを移動することを意味する。 "
1290 "B<MPOL_MF_MOVE_ALL> は、複数のプロセス間で共有されているページも移動できるこ"
1291 "とを意味する。 B<MPOL_MF_MOVE_ALL> を使用するためには、そのプロセスが特権 "
1292 "(B<CAP_SYS_NICE>) を持っていなければならない。"
1295 #: build/C/man2/move_pages.2:102
1297 msgid "Page states in the status array"
1298 msgstr "status 配列に格納されるページ状態"
1301 #: build/C/man2/move_pages.2:106
1303 "The following values can be returned in each element of the I<status> array."
1304 msgstr "I<status> 配列の各要素として、以下の値が返される。"
1307 #: build/C/man2/move_pages.2:106
1309 msgid "B<0..MAX_NUMNODES>"
1310 msgstr "B<0..MAX_NUMNODES>"
1313 #: build/C/man2/move_pages.2:109
1314 msgid "Identifies the node on which the page resides."
1315 msgstr "そのページが配置されているノードを示す。"
1318 #: build/C/man2/move_pages.2:109
1324 #: build/C/man2/move_pages.2:114
1326 "The page is mapped by multiple processes and can only be moved if "
1327 "B<MPOL_MF_MOVE_ALL> is specified."
1329 "そのページは複数のプロセスによりマップされており、 B<MPOL_MF_MOVE_ALL> が指定"
1333 #: build/C/man2/move_pages.2:114
1339 #: build/C/man2/move_pages.2:120
1341 "The page is currently busy and cannot be moved. Try again later. This "
1342 "occurs if a page is undergoing I/O or another kernel subsystem is holding a "
1343 "reference to the page."
1345 "そのページが現在ビジーであり、移動できない。後でもう一度試すこと。 この状況"
1346 "は、ページが I/O の実行中であったり、カーネルの他のサブシステム がそのページ"
1347 "への参照を保持している場合に発生する。"
1350 #: build/C/man2/move_pages.2:120
1356 #: build/C/man2/move_pages.2:123
1357 msgid "This is a zero page or the memory area is not mapped by the process."
1359 "そのページが zero page であるか、そのメモリ領域はそのプロセスにより マップさ"
1363 #: build/C/man2/move_pages.2:123
1369 #: build/C/man2/move_pages.2:130
1371 "Unable to write back a page. The page has to be written back in order to "
1372 "move it since the page is dirty and the file system does not provide a "
1373 "migration function that would allow the move of dirty pages."
1375 "ページを書き戻す (write back) ことができない。 ページが dirty で、ファイルシ"
1376 "ステムが dirty なページを移動できるような 移動機能を提供していないため、その"
1377 "ページを移動するためにはページを 書き戻さなければならない。"
1380 #: build/C/man2/move_pages.2:130
1386 #: build/C/man2/move_pages.2:135
1388 "A dirty page cannot be moved. The file system does not provide a migration "
1389 "function and has no ability to write back pages."
1391 "dirty なページを移動できない。 ファイルシステムが dirty なページを移動するた"
1392 "めの機能を提供しておらず、 ページを書き戻す能力もない。"
1395 #: build/C/man2/move_pages.2:135
1401 #: build/C/man2/move_pages.2:138
1402 msgid "The page is not present."
1406 #: build/C/man2/move_pages.2:138
1412 #: build/C/man2/move_pages.2:141
1413 msgid "Unable to allocate memory on target node."
1414 msgstr "移動先のノードでメモリを確保することができない。"
1416 #. FIXME Is the following quite true: does the wrapper in numactl
1417 #. do the right thing?
1419 #: build/C/man2/move_pages.2:150
1421 "On success B<move_pages>() returns zero. On error, it returns -1, and sets "
1422 "I<errno> to indicate the error."
1424 "成功すると、 B<move_pages>() は 0 を返す。 エラーの場合、-1 を返し、 "
1425 "I<errno> にエラーを示す値を設定する。"
1428 #: build/C/man2/move_pages.2:151
1434 #: build/C/man2/move_pages.2:154
1435 msgid "Too many pages to move."
1436 msgstr "移動すべきページが多過ぎる。"
1439 #: build/C/man2/move_pages.2:154
1444 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1447 #: build/C/man2/move_pages.2:159
1448 msgid "One of the target nodes is not allowed by the current cpuset."
1449 msgstr "移動先のノードのいずれかが現在の CPU 集合では許可されていない。"
1452 #: build/C/man2/move_pages.2:162
1453 msgid "Parameter array could not be accessed."
1454 msgstr "パラメータ配列にアクセスできなかった。"
1457 #: build/C/man2/move_pages.2:169
1459 "Flags other than B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> was specified or an "
1460 "attempt was made to migrate pages of a kernel thread."
1462 "I<flags> に B<MPOL_MF_MOVE> でも B<MPOL_MF_MOVE_ALL> でもない値が指定された"
1463 "か、カーネルスレッドのページを移動させようとした。"
1466 #: build/C/man2/move_pages.2:169
1472 #: build/C/man2/move_pages.2:172
1473 msgid "One of the target nodes is not online."
1474 msgstr "移動先のノードのいずれかがオンラインでない。"
1477 #: build/C/man2/move_pages.2:172
1483 #: build/C/man2/move_pages.2:178
1485 "No pages were found that require moving. All pages are either already on "
1486 "the target node, not present, had an invalid address or could not be moved "
1487 "because they were mapped by multiple processes."
1489 "移動が必要なページが全く見つからなかった。 指定された全てのページが、すでに移"
1490 "動先のノードに存在するか、存在しないか、 無効なアドレスであったか、複数のプロ"
1491 "セスによってマップされていて移動でき なかったか、のいずれかであった。"
1494 #: build/C/man2/move_pages.2:187
1496 "The caller specified B<MPOL_MF_MOVE_ALL> without sufficient privileges "
1497 "(B<CAP_SYS_NICE>). Or, the caller attempted to move pages of a process "
1498 "belonging to another user but did not have privilege to do so "
1499 "(B<CAP_SYS_NICE>)."
1501 "呼び出し元は B<MPOL_MF_MOVE_ALL> を指定したが、十分な特権 (B<CAP_SYS_NICE>) "
1502 "を持っていない。 または、呼び出し元が他のユーザに属するプロセスのページを移動"
1503 "しようとしたが、 それを行えるだけの特権 (B<CAP_SYS_NICE>) を持っていなかっ"
1507 #: build/C/man2/move_pages.2:190
1508 msgid "Process does not exist."
1509 msgstr "プロセスが存在しない。"
1512 #: build/C/man2/move_pages.2:193
1513 msgid "B<move_pages>() first appeared on Linux in version 2.6.18."
1514 msgstr "B<move_pages>() は、バージョン 2.6.18 で初めて Linux に登場した。"
1516 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1519 #: build/C/man2/move_pages.2:209
1521 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1522 "set of nodes that are allowed by the current cpuset. Note that this "
1523 "information is subject to change at any time by manual or automatic "
1524 "reconfiguration of the cpuset."
1526 "現在の CPU 集合で許可されているノードの集合を取得するには、フラグ "
1527 "B<MPOL_F_MEMS_ALLOWED> を指定して B<get_mempolicy>(2) を使用すればよい。 取"
1528 "得した情報は、CPU 集合の手動または自動での再構成により いつ何時変化してしまう"
1532 #: build/C/man2/move_pages.2:219
1534 "Use of this function may result in pages whose location (node) violates the "
1535 "memory policy established for the specified addresses (See B<mbind>(2)) and/"
1536 "or the specified process (See B<set_mempolicy>(2)). That is, memory policy "
1537 "does not constrain the destination nodes used by B<move_pages>()."
1539 "この関数を使用すると、ページの位置 (ノード) が 指定されたアドレスに対して設定"
1540 "されたメモリポリシー (B<mbind>(2) 参照) や指定されたプロセスに対して設定され"
1541 "たメモリポリシー (B<set_mempolicy>(2) 参照) に違反してしまう可能性がある。 "
1542 "つまり、メモリポリシーは B<move_pages>() で使われる移動先ノードを制限しない"
1546 #: build/C/man2/move_pages.2:235
1548 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1549 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1552 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1553 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1557 #: build/C/man7/numa.7:27
1563 #: build/C/man7/numa.7:30
1564 msgid "numa - overview of Non-Uniform Memory Architecture"
1568 #: build/C/man7/numa.7:41
1570 "Non-Uniform Memory Access (NUMA) refers to multiprocessor systems whose "
1571 "memory is divided into multiple memory nodes. The access time of a memory "
1572 "node depends on the relative locations of the accessing CPU and the accessed "
1573 "node. (This contrasts with a symmetric multiprocessor system, where the "
1574 "access time for all of the memory is the same for all CPUs.) Normally, each "
1575 "CPU on a NUMA system has a local memory node whose contents can be accessed "
1576 "faster than the memory in the node local to another CPU or the memory on a "
1577 "bus shared by all CPUs."
1581 #: build/C/man7/numa.7:41
1583 msgid "NUMA system calls"
1587 #: build/C/man7/numa.7:52
1589 "The Linux kernel implements the following NUMA-related system calls: "
1590 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2), B<move_pages>(2), and "
1591 "B<set_mempolicy>(2). However, applications should normally use the "
1592 "interface provided by I<libnuma>; see \"Library Support\" below."
1596 #: build/C/man7/numa.7:52
1598 msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1601 #. See also Changelog-2.6.14
1603 #: build/C/man7/numa.7:56
1605 "This file displays information about a process's NUMA memory policy and "
1610 #: build/C/man7/numa.7:60
1612 "Each line contains information about a memory range used by the process, "
1613 "displaying\\(emamong other information\\(emthe effective memory policy for "
1614 "that memory range and on which nodes the pages have been allocated."
1618 #: build/C/man7/numa.7:68
1620 "I<numa_maps> is a read-only file. When I</proc/E<lt>pidE<gt>/numa_maps> is "
1621 "read, the kernel will scan the virtual address space of the process and "
1622 "report how memory is used. One line is displayed for each unique memory "
1623 "range of the process."
1627 #: build/C/man7/numa.7:75
1629 "The first field of each line shows the starting address of the memory "
1630 "range. This field allows a correlation with the contents of the I</proc/"
1631 "E<lt>pidE<gt>/maps> file, which contains the end address of the range and "
1632 "other information, such as the access permissions and sharing."
1636 #: build/C/man7/numa.7:83
1638 "The second field shows the memory policy currently in effect for the memory "
1639 "range. Note that the effective policy is not necessarily the policy "
1640 "installed by the process for that memory range. Specifically, if the "
1641 "process installed a \"default\" policy for that range, the effective policy "
1642 "for that range will be the process policy, which may or may not be \"default"
1647 #: build/C/man7/numa.7:86
1649 "The rest of the line contains information about the pages allocated in the "
1650 "memory range, as follows:"
1654 #: build/C/man7/numa.7:86
1656 msgid "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1657 msgstr "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1660 #: build/C/man7/numa.7:99
1662 "The number of pages allocated on I<E<lt>nodeE<gt>>. I<E<lt>nr_pagesE<gt>> "
1663 "includes only pages currently mapped by the process. Page migration and "
1664 "memory reclaim may have temporarily unmapped pages associated with this "
1665 "memory range. These pages may only show up again after the process has "
1666 "attempted to reference them. If the memory range represents a shared memory "
1667 "area or file mapping, other processes may currently have additional pages "
1668 "mapped in a corresponding memory range."
1672 #: build/C/man7/numa.7:99
1674 msgid "I<file=E<lt>filenameE<gt>>"
1675 msgstr "I<file=E<lt>filenameE<gt>>"
1678 #: build/C/man7/numa.7:105
1680 "The file backing the memory range. If the file is mapped as private, write "
1681 "accesses may have generated COW (Copy-On-Write) pages in this memory range. "
1682 "These pages are displayed as anonymous pages."
1686 #: build/C/man7/numa.7:105
1692 #: build/C/man7/numa.7:108
1693 msgid "Memory range is used for the heap."
1697 #: build/C/man7/numa.7:108
1703 #: build/C/man7/numa.7:111
1704 msgid "Memory range is used for the stack."
1708 #: build/C/man7/numa.7:111
1714 #: build/C/man7/numa.7:115
1716 "Huge memory range. The page counts shown are huge pages and not regular "
1721 #: build/C/man7/numa.7:115
1723 msgid "I<anon=E<lt>pagesE<gt>>"
1724 msgstr "I<anon=E<lt>pagesE<gt>>"
1727 #: build/C/man7/numa.7:118
1728 msgid "The number of anonymous page in the range."
1732 #: build/C/man7/numa.7:118
1734 msgid "I<dirty=E<lt>pagesE<gt>>"
1735 msgstr "I<dirty=E<lt>pagesE<gt>>"
1738 #: build/C/man7/numa.7:121
1739 msgid "Number of dirty pages."
1743 #: build/C/man7/numa.7:121
1745 msgid "I<mapped=E<lt>pagesE<gt>>"
1746 msgstr "I<mapped=E<lt>pagesE<gt>>"
1749 #: build/C/man7/numa.7:128
1751 "Total number of mapped pages, if different from I<dirty> and I<anon> pages."
1755 #: build/C/man7/numa.7:128
1757 msgid "I<mapmax=E<lt>countE<gt>>"
1758 msgstr "I<mapmax=E<lt>countE<gt>>"
1761 #: build/C/man7/numa.7:134
1763 "Maximum mapcount (number of processes mapping a single page) encountered "
1764 "during the scan. This may be used as an indicator of the degree of sharing "
1765 "occurring in a given memory range."
1769 #: build/C/man7/numa.7:134
1771 msgid "I<swapcache=E<lt>countE<gt>>"
1772 msgstr "I<swapcache=E<lt>countE<gt>>"
1775 #: build/C/man7/numa.7:137
1776 msgid "Number of pages that have an associated entry on a swap device."
1780 #: build/C/man7/numa.7:137
1782 msgid "I<active=E<lt>pagesE<gt>>"
1783 msgstr "I<active=E<lt>pagesE<gt>>"
1786 #: build/C/man7/numa.7:143
1788 "The number of pages on the active list. This field is only shown if "
1789 "different from the number of pages in this range. This means that some "
1790 "inactive pages exist in the memory range that may be removed from memory by "
1795 #: build/C/man7/numa.7:143
1797 msgid "I<writeback=E<lt>pagesE<gt>>"
1798 msgstr "I<writeback=E<lt>pagesE<gt>>"
1801 #: build/C/man7/numa.7:146
1802 msgid "Number of pages that are currently being written out to disk."
1806 #: build/C/man7/numa.7:153
1808 "The Linux NUMA system calls and I</proc> interface are only available if the "
1809 "kernel was configured and built with the B<CONFIG_NUMA> option."
1813 #: build/C/man7/numa.7:153
1815 msgid "Library Support"
1819 #: build/C/man7/numa.7:162
1821 "Link with I<-lnuma> to get the system call definitions. I<libnuma> and the "
1822 "required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
1827 #: build/C/man7/numa.7:178
1829 "However, applications should not use these system calls directly. Instead, "
1830 "the higher level interface provided by the B<numa>(3) functions in the "
1831 "I<numactl> package is recommended. The I<numactl> package is available at "
1832 "I<ftp://oss.sgi.com/www/projects/libnuma/download/>. The package is also "
1833 "included in some Linux distributions. Some distributions include the "
1834 "development library and header in the separate I<numactl-devel> package."
1838 #: build/C/man7/numa.7:180
1839 msgid "No standards govern NUMA interfaces."
1843 #: build/C/man7/numa.7:188
1845 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
1846 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
1848 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
1849 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
1852 #: build/C/man2/set_mempolicy.2:25
1854 msgid "SET_MEMPOLICY"
1855 msgstr "SET_MEMPOLICY"
1858 #: build/C/man2/set_mempolicy.2:28
1860 "set_mempolicy - set default NUMA memory policy for a process and its children"
1862 "set_mempolicy - プロセスとその子プロセスの NUMA メモリの デフォルトポリシーを"
1866 #: build/C/man2/set_mempolicy.2:34
1869 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
1870 "B< unsigned long >I<maxnode>B<);>\n"
1872 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
1873 "B< unsigned long >I<maxnode>B<);>\n"
1876 #: build/C/man2/set_mempolicy.2:47
1878 "B<set_mempolicy>() sets the NUMA memory policy of the calling process, "
1879 "which consists of a policy mode and zero or more nodes, to the values "
1880 "specified by the I<mode>, I<nodemask> and I<maxnode> arguments."
1882 "B<set_mempolicy>() は、呼び出し元プロセスの NUMA ポリシーを I<policy> に設定"
1883 "する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから構成され、 設定内"
1884 "容は引き数 I<mode>, I<nodemask>, I<maxnode> により指定される。"
1887 #: build/C/man2/set_mempolicy.2:73
1889 "This system call defines the default policy for the process. The process "
1890 "policy governs allocation of pages in the process's address space outside of "
1891 "memory ranges controlled by a more specific policy set by B<mbind>(2). The "
1892 "process default policy also controls allocation of any pages for memory "
1893 "mapped files mapped using the B<mmap>(2) call with the B<MAP_PRIVATE> flag "
1894 "and that are only read [loaded] from by the process and of memory mapped "
1895 "files mapped using the B<mmap>(2) call with the B<MAP_SHARED> flag, "
1896 "regardless of the access type. The policy is only applied when a new page "
1897 "is allocated for the process. For anonymous memory this is when the page is "
1898 "first touched by the application."
1900 "B<set_mempolicy>() は、プロセスのデフォルトポリシーを定める。 プロセスのポリ"
1901 "シーは、 B<mbind>(2) で設定される特定のポリシーにより制御されるメモリ領域以"
1902 "外の プロセスのアドレス空間におけるページの割り当てに適用される。 プロセスの"
1903 "デフォルトポリシーは、 B<MAP_PRIVATE> フラグを指定した B<mmap>(2) を使って"
1904 "マップされたメモリマップ・ファイルに対する読み出し専用 (ロードされるだけ) の"
1905 "ページの割り当てにも適用される。 また、 B<MAP_SHARED> フラグを指定した "
1906 "B<mmap>(2) を使ってマップされたメモリマップ・ファイルに対するページの割り当"
1907 "てにも 適用される (この場合はページのアクセス種別に関わらず適用される) 。 設"
1908 "定したポリシーは、プロセスに新規のページが割り当てられるときにのみ 適用され"
1909 "る。無名メモリ (anonymous memory) の場合、新規ページの割り当ては アプリケー"
1910 "ションが初めてページにアクセスした際に行われる。"
1913 #: build/C/man2/set_mempolicy.2:87
1915 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
1916 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All modes except B<MPOL_DEFAULT> "
1917 "require the caller to specify via the I<nodemask> argument one or more nodes."
1919 "I<mode> 引き数には B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
1920 "B<MPOL_PREFERRED> のいずれか一つを指定してしなければならない。 "
1921 "B<MPOL_DEFAULT> 以外のポリシーの場合、呼び出し元は I<nodemask> 引き数で一つ以"
1925 #: build/C/man2/set_mempolicy.2:95
1927 "The I<mode> argument may also include an optional I<mode flag>. The "
1928 "supported I<mode flags> are:"
1930 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
1931 "れている I<モードフラグ> は以下の通りである。"
1934 #: build/C/man2/set_mempolicy.2:95
1936 msgid "B<MPOL_F_STATIC_NODES> (since Linux 2.6.26)"
1937 msgstr "B<MPOL_F_STATIC_NODES> (Linux 2.6.26 以降)"
1940 #: build/C/man2/set_mempolicy.2:105
1942 "A nonempty I<nodemask> specifies physical node ids. Linux does will not "
1943 "remap the I<nodemask> when the process moves to a different cpuset context, "
1944 "nor when the set of nodes allowed by the process's current cpuset context "
1947 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
1948 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
1949 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
1950 "I<nodemask> をマッピングし直すことはない。"
1953 #: build/C/man2/set_mempolicy.2:105
1955 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux 2.6.26)"
1956 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux 2.6.26 以降)"
1959 #: build/C/man2/set_mempolicy.2:131
1961 "I<nodemask> points to a bit mask of node IDs that contains up to I<maxnode> "
1962 "bits. The bit mask size is rounded to the next multiple of I<sizeof"
1963 "(unsigned long)>, but the kernel will only use bits up to I<maxnode>. A "
1964 "NULL value of I<nodemask> or a I<maxnode> value of zero specifies the empty "
1965 "set of nodes. If the value of I<maxnode> is zero, the I<nodemask> argument "
1968 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノード ID のビットマス"
1969 "クを指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切"
1970 "り上げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
1971 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
1972 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。"
1975 #: build/C/man2/set_mempolicy.2:152
1977 "Where a I<nodemask> is required, it must contain at least one node that is "
1978 "on-line, allowed by the process's current cpuset context, [unless the "
1979 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory. If the "
1980 "B<MPOL_F_STATIC_NODES> is set in I<mode> and a required I<nodemask> contains "
1981 "no nodes that are allowed by the process's current cpuset context, the "
1982 "memory policy reverts to I<local allocation>. This effectively overrides "
1983 "the specified policy until the process's cpuset context includes one or more "
1984 "of the nodes specified by I<nodemask>."
1986 "I<nodemask> が必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現"
1987 "在の CPU 集合コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラ"
1988 "グが指定されていない場合)、メモリがあるノードが 少なくとも一つ入っていなけれ"
1989 "ばならない。 I<mode> に B<MPOL_F_STATIC_NODES> がセットされ、 I<nodemask> が"
1990 "必須の場面で、 I<nodemask> に、そのプロセスの現在の CPU 集合コンテキストで許"
1991 "可されたノードが 一つも含まれていない場合には、メモリのポリシーとしてデフォル"
1992 "トの 「ローカルから割り当て (local allocation)」が適用される。 そのプロセス"
1993 "の CPU 集合コンテキストが I<nodemask> で指定されたノードを少なくとも一つ含む"
1994 "ようになるまでは、 結果的に指定された動作が上書きされることになる。"
1997 #: build/C/man2/set_mempolicy.2:163
1999 "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory policy "
2000 "be removed, so that the memory policy \"falls back\" to the system default "
2001 "policy. The system default policy is \"local allocation\"-- i.e., allocate "
2002 "memory on the node of the CPU that triggered the allocation. I<nodemask> "
2003 "must be specified as NULL. If the \"local node\" contains no free memory, "
2004 "the system will attempt to allocate memory from a \"near by\" node."
2006 "B<MPOL_DEFAULT> モードは、デフォルトではないプロセスのメモリポリシーを削除す"
2007 "ることを 指定するものである。これにより、メモリポリシーはシステムの デフォル"
2008 "トポリシーに「戻る」ことになる。 システムのデフォルトポリシーは「ローカルから"
2009 "の割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU "
2010 "のノードのメモリが割り当てられる。 I<nodemask> には NULL を指定しなければなら"
2011 "ない。 「自ノード (local node)」に空きメモリが全くない場合、システムは 「近く"
2012 "の (near by) ノード」からメモリを割り当てようと試みる。"
2015 #: build/C/man2/set_mempolicy.2:180
2017 "The B<MPOL_BIND> mode defines a strict policy that restricts memory "
2018 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
2019 "more than one node, page allocations will come from the node with the lowest "
2020 "numeric node ID first, until that node contains no free memory. Allocations "
2021 "will then come from the node with the next highest node ID specified in "
2022 "I<nodemask> and so forth, until none of the specified nodes contain free "
2023 "memory. Pages will not be allocated from any node not specified in the "
2026 "B<MPOL_BIND> モードは厳密なポリシーで、メモリ割り当ては I<nodemask> に指定さ"
2027 "れたノードに限定される。 I<nodemask> に 2 個以上のノードが指定された場合、"
2028 "ページの割り当ては ノード ID が数字として最小のノードから開始され、 そのノー"
2029 "ドに空きメモリがなくなるまでそのノードから ページ割り当てが行われる。そのノー"
2030 "ドに空きメモリがなくなったら、 次に小さなノード ID を持つノードからページ割り"
2031 "当てが行われる。 これを、 I<nodemask> で指定された全てのノードで空きメモリが"
2032 "なくなるまで繰り返す。 I<nodemask> で指定された以外のノードからはページの割り"
2035 #. NOTE: the following sentence doesn't make sense in the context
2036 #. of set_mempolicy() -- no memory area specified.
2037 #. To be effective the memory area should be fairly large,
2038 #. at least 1MB or bigger.
2040 #: build/C/man2/set_mempolicy.2:194
2042 "B<MPOL_INTERLEAVE> interleaves page allocations across the nodes specified "
2043 "in I<nodemask> in numeric node ID order. This optimizes for bandwidth "
2044 "instead of latency by spreading out pages and memory accesses to those pages "
2045 "across multiple nodes. However, accesses to a single page will still be "
2046 "limited to the memory bandwidth of a single node."
2048 "B<MPOL_INTERLEAVE> では、ページ割り当てを I<nodemask> に指定されたノードの間"
2049 "でノード ID の数字順で交互に行う。 このポリシーでは、複数のノードにページを広"
2050 "げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、"
2051 "帯域を最適化する。 ただし、一つのページへのアクセスに関しては依然として一つの"
2055 #: build/C/man2/set_mempolicy.2:211
2057 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
2058 "try to allocate pages from this node first and fall back to \"near by\" "
2059 "nodes if the preferred node is low on free memory. If I<nodemask> specifies "
2060 "more than one node ID, the first node in the mask will be selected as the "
2061 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
2062 "empty set, then the policy specifies \"local allocation\" (like the system "
2063 "default policy discussed above)."
2065 "B<MPOL_PREFERRED> は、割り当て時に優先されるノード (preferred node) を設定す"
2066 "る。 カーネルはまず優先ノードからページ割り当てを行おうとし、 優先ノードに空"
2067 "きメモリが少ない場合に「近くの (near by)」ノードから 割り当てを行う。 "
2068 "I<nodemask> に複数のノード ID が指定された場合は、 I<nodemask> 内の最初のノー"
2069 "ドが優先ノードとして選択される。 引き数 I<nodemask>, I<maxnode> で空集合が指"
2070 "定された場合は、ポリシーは (上述のシステムの デフォルトポリシーと同様に) "
2074 #: build/C/man2/set_mempolicy.2:218
2076 "The process memory policy is preserved across an B<execve>(2), and is "
2077 "inherited by child processes created using B<fork>(2) or B<clone>(2)."
2079 "プロセスのメモリポリシーは B<execve>(2) の前後で保持され、 B<fork>(2) や "
2080 "B<clone>(2) を使って作成された子プロセスに継承される。"
2083 #: build/C/man2/set_mempolicy.2:225
2085 "On success, B<set_mempolicy>() returns 0; on error, -1 is returned and "
2086 "I<errno> is set to indicate the error."
2088 "成功すると、 B<set_mempolicy>() は 0 を返す。エラーの場合、-1 を返し、 "
2089 "I<errno> にエラーを示す値を設定する。"
2092 #: build/C/man2/set_mempolicy.2:270
2094 "I<mode> is invalid. Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> is "
2095 "nonempty, or I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> "
2096 "is empty. Or, I<maxnode> specifies more than a page worth of bits. Or, "
2097 "I<nodemask> specifies one or more node IDs that are greater than the maximum "
2098 "supported node ID. Or, none of the node IDs specified by I<nodemask> are on-"
2099 "line and allowed by the process's current cpuset context, or none of the "
2100 "specified nodes contain memory. Or, the I<mode> argument specified both "
2101 "B<MPOL_F_STATIC_NODES> and B<MPOL_F_RELATIVE_NODES>."
2103 "I<mode> が不正である。 I<mode> が B<MPOL_DEFAULT> で、 I<nodemask> が空ではな"
2104 "い。 I<mode> が B<MPOL_BIND> か B<MPOL_INTERLEAVE> で、 I<nodemask> が空であ"
2105 "る。 I<maxnode> で実際に意味があるビット数より多くのビット数が指定された。 "
2106 "I<nodemask> に、サポートされている最大ノード ID より大きいノードが指定され"
2107 "た。 I<nodemask> に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキ"
2108 "ストで 許可されているノードが一つも含まれていないか、 メモリを含むノードが一"
2109 "つも指定されていない。 I<mode> 引き数に B<MPOL_F_STATIC_NODES> と "
2110 "B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
2113 #: build/C/man2/set_mempolicy.2:277
2115 "The B<set_mempolicy>(), system call was added to the Linux kernel in version "
2118 "B<set_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
2122 #: build/C/man2/set_mempolicy.2:284
2124 "Process policy is not remembered if the page is swapped out. When such a "
2125 "page is paged back in, it will use the policy of the process or memory range "
2126 "that is in effect at the time the page is allocated."
2128 "ページがスワップ・アウトされる場合には、 プロセスポリシーの設定は推奨されな"
2129 "い。 スワップ・アウトされたページがページ・インする際にも、 ページ割り当て時"
2130 "に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。"
2133 #: build/C/man2/set_mempolicy.2:296
2135 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2136 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2138 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2139 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"