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-04-30 20:29+0900\n"
10 "PO-Revision-Date: 2013-05-02 23:12+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
60 msgid "get_mempolicy - retrieve NUMA memory policy for a process"
61 msgstr "get_mempolicy - プロセスの NUMA メモリのポリシーを取得する"
64 #: build/C/man2/get_mempolicy.2:30 build/C/man2/getcpu.2:15
65 #: build/C/man2/mbind.2:48 build/C/man2/migrate_pages.2:21
66 #: build/C/man2/move_pages.2:21 build/C/man2/set_mempolicy.2:30
72 #: build/C/man2/get_mempolicy.2:32
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:37
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:39 build/C/man2/mbind.2:57
90 #: build/C/man2/set_mempolicy.2:38
92 msgid "Link with I<-lnuma>.\n"
93 msgstr "I<-lnuma> でリンクする。\n"
96 #: build/C/man2/get_mempolicy.2:40 build/C/man2/getcpu.2:25
97 #: build/C/man2/mbind.2:58 build/C/man2/migrate_pages.2:31
98 #: build/C/man2/move_pages.2:30 build/C/man7/numa.7:32
99 #: build/C/man2/set_mempolicy.2:39
105 #: build/C/man2/get_mempolicy.2:45
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:50 build/C/man2/set_mempolicy.2:54
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:67
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:89
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:103
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:124
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:141
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:166
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:168
230 msgid "Other flag values are reserved."
231 msgstr "他のフラグは予約されている。"
234 #: build/C/man2/get_mempolicy.2:171
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:171 build/C/man2/getcpu.2:61
240 #: build/C/man2/mbind.2:309 build/C/man2/migrate_pages.2:88
241 #: build/C/man2/move_pages.2:141 build/C/man2/set_mempolicy.2:220
247 #: build/C/man2/get_mempolicy.2:178
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:178 build/C/man2/getcpu.2:66
257 #: build/C/man2/mbind.2:317 build/C/man2/migrate_pages.2:96
258 #: build/C/man2/move_pages.2:150 build/C/man2/set_mempolicy.2:227
264 #: build/C/man2/get_mempolicy.2:179 build/C/man2/getcpu.2:67
265 #: build/C/man2/mbind.2:319 build/C/man2/move_pages.2:159
266 #: build/C/man2/set_mempolicy.2:228
272 #: build/C/man2/get_mempolicy.2:186 build/C/man2/set_mempolicy.2:235
274 "Part of all of the memory range specified by I<nodemask> and I<maxnode> "
275 "points outside your accessible address space."
277 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
278 "元がアクセス可能なアドレス空間外を指している。"
281 #: build/C/man2/get_mempolicy.2:186 build/C/man2/mbind.2:327
282 #: build/C/man2/move_pages.2:162 build/C/man2/set_mempolicy.2:235
288 #: build/C/man2/get_mempolicy.2:230
290 "The value specified by I<maxnode> is less than the number of node IDs "
291 "supported by the system. Or I<flags> specified values other than "
292 "B<MPOL_F_NODE> or B<MPOL_F_ADDR>; or I<flags> specified B<MPOL_F_ADDR> and "
293 "I<addr> is NULL, or I<flags> did not specify B<MPOL_F_ADDR> and I<addr> is "
294 "not NULL. Or, I<flags> specified B<MPOL_F_NODE> but not B<MPOL_F_ADDR> and "
295 "the current process policy is not B<MPOL_INTERLEAVE>. Or, I<flags> "
296 "specified B<MPOL_F_MEMS_ALLOWED> with either B<MPOL_F_ADDR> or "
297 "B<MPOL_F_NODE>. (And there are other B<EINVAL> cases.)"
299 "I<maxnode> で指定された値がシステムがサポートするノード ID の数よりも少な"
300 "い。 または、 I<flags> に B<MPOL_F_NODE> でも B<MPOL_F_ADDR> でもない値が指定"
301 "された。 または、 I<flags> に B<MPOL_F_ADDR> が指定されており、 I<addr> が "
302 "NULL である。 または、 I<flags> に B<MPOL_F_ADDR> がされておらず、 I<addr> "
303 "が NULL でない。 または、 I<flags> に B<MPOL_F_NODE> が指定されており、 "
304 "B<MPOL_F_ADDR> が指定されておらず、 プロセスの現在のポリシーが "
305 "B<MPOL_INTERLEAVE> でない。 または、 I<flags> に B<MPOL_F_MEMS_ALLOWED> が指"
306 "定されており、さらに B<MPOL_F_ADDR> か B<MPOL_F_NODE> のいずれかが指定されて"
307 "いる。 (他にも B<EINVAL> となる場合がある。)"
310 #: build/C/man2/get_mempolicy.2:230 build/C/man2/getcpu.2:70
311 #: build/C/man2/mbind.2:399 build/C/man2/migrate_pages.2:112
312 #: build/C/man2/move_pages.2:190 build/C/man2/set_mempolicy.2:275
318 #: build/C/man2/get_mempolicy.2:234
320 "The B<get_mempolicy>() system call was added to the Linux kernel in version "
323 "B<get_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
327 #: build/C/man2/get_mempolicy.2:234 build/C/man2/getcpu.2:73
328 #: build/C/man2/mbind.2:403 build/C/man2/migrate_pages.2:116
329 #: build/C/man2/move_pages.2:193 build/C/man7/numa.7:148
330 #: build/C/man2/set_mempolicy.2:279
332 msgid "CONFORMING TO"
336 #: build/C/man2/get_mempolicy.2:236 build/C/man2/mbind.2:405
337 #: build/C/man2/migrate_pages.2:118 build/C/man2/move_pages.2:195
338 #: build/C/man2/set_mempolicy.2:281
339 msgid "This system call is Linux-specific."
340 msgstr "このシステムコールは Linux 固有である。"
343 #: build/C/man2/get_mempolicy.2:236 build/C/man2/getcpu.2:76
344 #: build/C/man2/mbind.2:405 build/C/man2/migrate_pages.2:118
345 #: build/C/man2/move_pages.2:195 build/C/man7/numa.7:150
346 #: build/C/man2/set_mempolicy.2:281
352 #: build/C/man2/get_mempolicy.2:239 build/C/man2/mbind.2:408
353 #: build/C/man2/migrate_pages.2:121 build/C/man2/move_pages.2:198
354 #: build/C/man2/set_mempolicy.2:289
355 msgid "For information on library support, see B<numa>(7)."
356 msgstr "ライブラリによるサポートについては B<numa>(7) を参照。"
359 #: build/C/man2/get_mempolicy.2:239 build/C/man2/getcpu.2:139
360 #: build/C/man2/mbind.2:457 build/C/man2/migrate_pages.2:148
361 #: build/C/man2/move_pages.2:225 build/C/man7/numa.7:183
362 #: build/C/man2/set_mempolicy.2:289
368 #: build/C/man2/get_mempolicy.2:247
370 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
371 "B<numa>(7), B<numactl>(8)"
373 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
374 "B<numa>(7), B<numactl>(8)"
377 #: build/C/man2/get_mempolicy.2:247 build/C/man2/getcpu.2:145
378 #: build/C/man2/mbind.2:468 build/C/man2/migrate_pages.2:161
379 #: build/C/man2/move_pages.2:235 build/C/man7/numa.7:191
380 #: build/C/man2/set_mempolicy.2:298
386 #: build/C/man2/get_mempolicy.2:254 build/C/man2/getcpu.2:152
387 #: build/C/man2/mbind.2:475 build/C/man2/migrate_pages.2:168
388 #: build/C/man2/move_pages.2:242 build/C/man7/numa.7:198
389 #: build/C/man2/set_mempolicy.2:305
391 "This page is part of release 3.51 of the Linux I<man-pages> project. A "
392 "description of the project, and information about reporting bugs, can be "
393 "found at http://www.kernel.org/doc/man-pages/."
395 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.51 の一部\n"
396 "である。プロジェクトの説明とバグ報告に関する情報は\n"
397 "http://www.kernel.org/doc/man-pages/ に書かれている。"
400 #: build/C/man2/getcpu.2:12
406 #: build/C/man2/getcpu.2:12
412 #: build/C/man2/getcpu.2:15
414 "getcpu - determine CPU and NUMA node on which the calling thread is running"
415 msgstr "getcpu - 呼び出し元スレッドが動作している CPU と NUMA ノードを判定する"
418 #: build/C/man2/getcpu.2:18
420 msgid "B<#include E<lt>linux/getcpu.hE<gt>>\n"
421 msgstr "B<#include E<lt>linux/getcpu.hE<gt>>\n"
424 #: build/C/man2/getcpu.2:21
426 msgid "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
427 msgstr "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
430 #: build/C/man2/getcpu.2:25
431 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
433 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
437 #: build/C/man2/getcpu.2:42
439 "The B<getcpu>() system call identifies the processor and node on which the "
440 "calling thread or process is currently running and writes them into the "
441 "integers pointed to by the I<cpu> and I<node> arguments. The processor is a "
442 "unique small integer identifying a CPU. The node is a unique small "
443 "identifier identifying a NUMA node. When either I<cpu> or I<node> is NULL "
444 "nothing is written to the respective pointer."
446 "B<getcpu>() システムコールは、呼び出し元のスレッドやプロセスが\n"
447 "現在動作しているプロセッサやノードの情報を特定し、\n"
448 "それぞれ引き数 I<cpu> と I<node> が指す整数に書き込む。\n"
449 "プロセッサ情報は CPU を識別するための一意な小さな整数である。\n"
450 "ノード情報は NUMAノードを識別するための一意な小さな整数である。\n"
451 "I<cpu> か I<node> のいずれかが NULL であれば、\n"
452 "その引き数に対応する情報の書き込みは行われない。"
455 #: build/C/man2/getcpu.2:46
457 "The third argument to this system call is nowadays unused, and should be "
458 "specified as NULL unless portability to Linux 2.6.23 or earlier is required "
460 msgstr "このシステムコールの 3 番目の引き数は現在は使われておらず、 Linux 2.6.23 以前への移植性が必要な場合以外は NULL を渡すべきである (「注意」を参照)。"
463 #: build/C/man2/getcpu.2:61
465 "The information placed in I<cpu> is guaranteed to be current only at the "
466 "time of the call: unless the CPU affinity has been fixed using "
467 "B<sched_setaffinity>(2), the kernel might change the CPU at any time. "
468 "(Normally this does not happen because the scheduler tries to minimize "
469 "movements between CPUs to keep caches hot, but it is possible.) The caller "
470 "must allow for the possibility that the information returned in I<cpu> and "
471 "I<node> is no longer current by the time the call returns."
473 "I<cpu> に格納された情報が最新だと保証できるのは、システムコールが呼ばれ\n"
474 "た時点だけである。B<sched_setaffinity>(2) を使って CPU affinity が固定\n"
475 "されていない限り、カーネルはいつでも CPU を変更してもよい (スケジューラ\n"
476 "はキャッシュが有効に働くように CPU の移動を最小限にしようとするので、\n"
477 "通常は CPU が変更されることはないが、起きる可能性はある)。\n"
478 "I<cpu> や I<node> で返された情報が呼び出しが返った時点ですでに\n"
479 "最新の状況と異なる可能性があり、呼び出し元はこの可能性を考慮して\n"
483 #: build/C/man2/getcpu.2:66
485 "On success, 0 is returned. On error, -1 is returned, and I<errno> is set "
489 "エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
492 #: build/C/man2/getcpu.2:70
493 msgid "Arguments point outside the calling process's address space."
494 msgstr "引き数が呼び出したプロセスのアドレス空間外を指している。"
497 #: build/C/man2/getcpu.2:73
498 msgid "B<getcpu>() was added in kernel 2.6.19 for x86_64 and i386."
499 msgstr "B<getcpu>() はカーネル 2.6.19 で x86_64 と i386 向けに追加された."
502 #: build/C/man2/getcpu.2:76
503 msgid "B<getcpu>() is Linux specific."
504 msgstr "B<getcpu>() は Linux 固有である。"
507 #: build/C/man2/getcpu.2:82
509 "Linux makes a best effort to make this call as fast possible. The intention "
510 "of B<getcpu>() is to allow programs to make optimizations with per-CPU data "
511 "or for NUMA optimization."
513 "Linux はこのシステムコールを可能な限り早く実行しようとする。\n"
514 "B<getcpu>() は、CPU 毎のデータに対する最適化や NUMA 環境での最適化を\n"
515 "プログラムが行えるようにすることを目的として実装されているからである。"
518 #: build/C/man2/getcpu.2:88
520 "Glibc does not provide a wrapper for this system call; call it using "
521 "B<syscall>(2); or use B<sched_getcpu>(3) instead."
523 "glibc はこのシステムコールに対するラッパー関数を提供していない。\n"
524 "B<syscall>(2) を使って呼び出すか、\n"
525 "代わりに B<sched_getcpu>(3) を使用すること。"
527 #. commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
528 #. Author: Ingo Molnar <mingo@elte.hu>
529 #. Date: Wed Nov 7 18:37:48 2007 +0100
530 #. x86: ignore the sys_getcpu() tcache parameter
531 #. ===== Before kernel 2.6.24: =====
534 #. .IR "struct getcpu_cache"
535 #. that is used as a cache by
537 #. The caller should put the cache into a thread-local variable
538 #. if the process is multithreaded,
539 #. because the cache cannot be shared between different threads.
544 #. will use it to speed up operation.
545 #. The information inside the cache is private to the system call
546 #. and should not be accessed by the user program.
547 #. The information placed in the cache can change between kernel releases.
548 #. When no cache is specified
551 #. but always retrieve the current CPU and node information.
555 #. However, the cached information is updated only once per jiffy (see
557 #. This means that the information could theoretically be out of date,
558 #. although in practice the scheduler's attempt to maintain
559 #. soft CPU affinity means that the information is unlikely to change
560 #. over the course of the caching interval.
562 #: build/C/man2/getcpu.2:139
564 "The I<tcache> argument is unused since Linux 2.6.24. In earlier kernels, if "
565 "this argument was non-NULL, then it specified a pointer to a caller-"
566 "allocated buffer in thread-local storage that was used to provide a caching "
567 "mechanism for B<getcpu>(). Use of the cache could speed B<getcpu>() calls, "
568 "at the cost that there was a very small chance that the returned information "
569 "would be out of date. The caching mechanism was considered to cause "
570 "problems when migrating threads between CPUs, and so the argument is now "
573 "I<tcache> 引き数は Linux 2.6.24 以降では使用されない。以前のバージョン\n"
574 "のカーネルでは、この引き数が NULL 以外の場合、この引き数には、呼び出し\n"
575 "元が割り当てたスレッド専用の記憶領域 (thread-local storage) 内のバッファ\n"
576 "を指すポインタが指定され、このバッファは B<getcpu>() 用のキャッシュ機構\n"
577 "を提供するために利用されていた。非常に低い確率だが古い情報を返してしま\n"
578 "うデメリットはあるものの、このキャッシュを使うことで B<getcpu>() システ\n"
579 "ムコールを高速化できた。このキャッシュ機構はCPU 間でのスレッドの移動時\n"
580 "に問題になると考えられ、この引き数は今では無視されるようになっている。"
583 #: build/C/man2/getcpu.2:145
585 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
588 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
592 #: build/C/man2/mbind.2:45
598 #: build/C/man2/mbind.2:48
599 msgid "mbind - set memory policy for a memory range"
600 msgstr "mbind - メモリ領域に対してメモリポリシーを設定する"
603 #: build/C/man2/mbind.2:51 build/C/man2/migrate_pages.2:24
604 #: build/C/man2/move_pages.2:24 build/C/man2/set_mempolicy.2:33
606 msgid "B<#include E<lt>numaif.hE<gt>>\n"
607 msgstr "B<#include E<lt>numaif.hE<gt>>\n"
610 #: build/C/man2/mbind.2:55
613 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
614 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
615 "B< unsigned >I<flags>B<);>\n"
617 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
618 "B< unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
619 "B< unsigned >I<flags>B<);>\n"
622 #: build/C/man2/mbind.2:68
624 "B<mbind>() sets the NUMA memory policy, which consists of a policy mode and "
625 "zero or more nodes, for the memory range starting with I<addr> and "
626 "continuing for I<len> bytes. The memory policy defines from which node "
627 "memory is allocated."
629 "B<mbind>() は、 I<addr> から始まる長さ I<len> バイトの範囲のメモリに NUMA メ"
630 "モリポリシーを設定する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから"
631 "構成される。 メモリポリシーはどのノードからメモリを割り当てるかを決定する。"
634 #: build/C/man2/mbind.2:90
636 "If the memory range specified by the I<addr> and I<len> arguments includes "
637 "an \"anonymous\" region of memory\\(emthat is a region of memory created "
638 "using the B<mmap>(2) system call with the B<MAP_ANONYMOUS>\\(emor a memory "
639 "mapped file, mapped using the B<mmap>(2) system call with the "
640 "B<MAP_PRIVATE> flag, pages will be allocated only according to the specified "
641 "policy when the application writes [stores] to the page. For anonymous "
642 "regions, an initial read access will use a shared page in the kernel "
643 "containing all zeros. For a file mapped with B<MAP_PRIVATE>, an initial "
644 "read access will allocate pages according to the process policy of the "
645 "process that causes the page to be allocated. This may not be the process "
646 "that called B<mbind>()."
647 msgstr "I<addr> と I<len> で指定されたメモリ範囲に、 メモリの「無名」領域 \\(em B<MAP_ANONYMOUS> 付きの B<mmap>(2) システムコールを使って作成されたメモリ領域 \\(em や B<MAP_PRIVATE> 付きの B<mmap>(2) を使ってマップされたメモリマップ・ファイルが含まれている場合、アプリケーションがそのページへの書き込み (データの格納) を行った時には指定されたポリシーのみに基づいてページが割り当てられる。無名領域の場合、最初の読み出しアクセスの際には カーネル内の全データが 0 である共有ページが使用される。 B<MAP_PRIVATE> でマップされたファイルの場合、最初の読み出しアクセスがあると、 ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリシー にしたがってページの割り当てが行われる。 ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセスと同じとは限らない。"
650 #: build/C/man2/mbind.2:98
652 "The specified policy will be ignored for any B<MAP_SHARED> mappings in the "
653 "specified memory range. Rather the pages will be allocated according to the "
654 "process policy of the process that caused the page to be allocated. Again, "
655 "this may not be the process that called B<mbind>()."
657 "指定されたメモリ範囲内にある B<MAP_SHARED> のマッピングでは指定されたポリシー"
658 "は無視され、 ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリ"
659 "シーに したがってページの割り当てが行われることになる。 繰り返しになるが、"
660 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>() を呼び出したプロセス"
664 #: build/C/man2/mbind.2:115
666 "If the specified memory range includes a shared memory region created using "
667 "the B<shmget>(2) system call and attached using the B<shmat>(2) system "
668 "call, pages allocated for the anonymous or shared memory region will be "
669 "allocated according to the policy specified, regardless which process "
670 "attached to the shared memory segment causes the allocation. If, however, "
671 "the shared memory region was created with the B<SHM_HUGETLB> flag, the huge "
672 "pages will be allocated according to the policy specified only if the page "
673 "allocation is caused by the process that calls B<mbind>() for that region."
675 "指定されたメモリ範囲に、 B<shmget>(2) システムコールを使って作成されたり、 "
676 "B<shmat>(2) システムコールを使って付加 (attach) されたりした共有メモリ領域"
677 "が 含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、 共"
678 "有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て のきっかけ"
679 "となったかに関わらず、指定されたポリシーにしたがって割り当て が行われる。 し"
680 "かしながら、共有メモリ領域が B<SHM_HUGETLB> フラグを指定して作成された場合に"
681 "は、ヒュージページ (huge page) の割り当てが 指定されたポリシーにしたがって行"
682 "われるのは、その領域に対して B<mbind>() を呼び出したプロセスがページ割り当て"
686 #: build/C/man2/mbind.2:126
688 "By default, B<mbind>() has an effect only for new allocations; if the pages "
689 "inside the range have been already touched before setting the policy, then "
690 "the policy has no effect. This default behavior may be overridden by the "
691 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> flags described below."
693 "デフォルトでは、 B<mbind>() は新規のメモリ割り当てに対してのみ効果を持つ。 "
694 "ポリシーが設定される前にすでに使用されている範囲内のページに対しては、 ポリ"
695 "シーは影響しない。 このデフォルトの動作は、以下で説明するフラグ "
696 "B<MPOL_MF_MOVE> や B<MPOL_MF_MOVE_ALL> により上書きされる可能性がある。"
699 #: build/C/man2/mbind.2:141
701 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
702 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All policy modes except "
703 "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> argument, "
704 "the node or nodes to which the mode applies."
706 "I<mode> 引き数には、 B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
707 "B<MPOL_PREFERRED> のいずれか一つを指定しなければならない。 B<MPOL_DEFAULT> 以"
708 "外のポリシーモードの場合、呼び出し元は I<nodemask> 引き数でそのポリシーモード"
709 "を適用するノードを指定する必要がある。"
712 #: build/C/man2/mbind.2:149
714 "The I<mode> argument may also include an optional I<mode flag >. The "
715 "supported I<mode flags> are:"
717 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
718 "れている I<モードフラグ> は以下の通りである。"
721 #: build/C/man2/mbind.2:149
723 msgid "B<MPOL_F_STATIC_NODES> (since Linux-2.6.26)"
724 msgstr "B<MPOL_F_STATIC_NODES> (Linux-2.6.26 以降)"
727 #: build/C/man2/mbind.2:159
729 "A nonempty I<nodemask> specifies physical node ids. Linux does not remap "
730 "the I<nodemask> when the process moves to a different cpuset context, nor "
731 "when the set of nodes allowed by the process's current cpuset context "
734 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
735 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
736 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
737 "I<nodemask> をマッピングし直すことはない。"
740 #: build/C/man2/mbind.2:159
742 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux-2.6.26)"
743 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux-2.6.26 以降)"
746 #: build/C/man2/mbind.2:165 build/C/man2/set_mempolicy.2:113
748 "A nonempty I<nodemask> specifies node ids that are relative to the set of "
749 "node ids allowed by the process's current cpuset."
751 "空でない I<nodemask> は、そのプロセスの現在の CPU 集合で許可されているノード "
752 "ID 集合 における相対的なノード ID である。"
755 #: build/C/man2/mbind.2:193
757 "I<nodemask> points to a bit mask of nodes containing up to I<maxnode> bits. "
758 "The bit mask size is rounded to the next multiple of I<sizeof(unsigned long)"
759 ">, but the kernel will use bits only up to I<maxnode>. A NULL value of "
760 "I<nodemask> or a I<maxnode> value of zero specifies the empty set of nodes. "
761 "If the value of I<maxnode> is zero, the I<nodemask> argument is ignored. "
762 "Where a I<nodemask> is required, it must contain at least one node that is "
763 "on-line, allowed by the process's current cpuset context [unless the "
764 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory."
766 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノードのビットマスクを"
767 "指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切り上"
768 "げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
769 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
770 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。 I<nodemask> が"
771 "必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現在の CPU 集合"
772 "コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラグが指定され"
773 "ていない場合)、メモリがあるノードが 少なくとも一つ入っていなければならない。"
776 #: build/C/man2/mbind.2:215
778 "The B<MPOL_DEFAULT> mode requests that any nondefault policy be removed, "
779 "restoring default behavior. When applied to a range of memory via B<mbind>"
780 "(), this means to use the process policy, which may have been set with "
781 "B<set_mempolicy>(2). If the mode of the process policy is also "
782 "B<MPOL_DEFAULT>, the system-wide default policy will be used. The system-"
783 "wide default policy allocates pages on the node of the CPU that triggers the "
784 "allocation. For B<MPOL_DEFAULT>, the I<nodemask> and I<maxnode> arguments "
785 "must be specify the empty set of nodes."
787 "モード B<MPOL_DEFAULT> はデフォルトではないプロセスのメモリポリシーを削除"
788 "し、 デフォルトの動作に戻すことを指定するものである。 B<mbind>() 経由で、あ"
789 "るメモリ領域に対して B<MPOL_DEFAULT> が適用された場合、プロセスのデフォルトポ"
790 "リシーを使用することを意味する。 プロセスのデフォルトポリシーは、 "
791 "B<set_mempolicy>(2) で変更されているかもしれない。 プロセスのポリシーのモー"
792 "ドも B<MPOL_DEFAULT> の場合、システム全体のデフォルトポリシーが使用される。 "
793 "システム全体のデフォルトポリシーでは、割り当てのきっかけとなった CPU のノード"
794 "からページの割り当てを行う。 B<MPOL_DEFAULT> では、引き数 I<nodemask> と "
795 "I<maxnode> にノードの空集合を指定しなければならない。"
798 #: build/C/man2/mbind.2:232
800 "The B<MPOL_BIND> mode specifies a strict policy that restricts memory "
801 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
802 "more than one node, page allocations will come from the node with the lowest "
803 "numeric node ID first, until that node contains no free memory. Allocations "
804 "will then come from the node with the next highest node ID specified in "
805 "I<nodemask> and so forth, until none of the specified nodes contain free "
806 "memory. Pages will not be allocated from any node not specified in the "
809 "B<MPOL_BIND> は厳しいポリシーで、メモリ割り当ては I<nodemask> に指定された"
810 "ノードに限定される。 他のノードへの割り当ては行われない。 I<nodemask> に 2 個"
811 "以上のノードが指定された場合、ページの割り当ては ノード ID が数字として最小の"
812 "ノードから開始され、 そのノードに空きメモリがなくなるまでそのノードから ペー"
813 "ジ割り当てが行われる。そのノードに空きメモリがなくなったら、 次に小さなノー"
814 "ド ID を持つノードからページ割り当てが行われる。 これを、 I<nodemask> で指定"
815 "された全てのノードで空きメモリがなくなるまで繰り返す。 I<nodemask> で指定され"
816 "た以外のノードからはページの割り当ては行われない。"
819 #: build/C/man2/mbind.2:245
821 "The B<MPOL_INTERLEAVE> mode specifies that page allocations be interleaved "
822 "across the set of nodes specified in I<nodemask>. This optimizes for "
823 "bandwidth instead of latency by spreading out pages and memory accesses to "
824 "those pages across multiple nodes. To be effective the memory area should "
825 "be fairly large, at least 1MB or bigger with a fairly uniform access "
826 "pattern. Accesses to a single page of the area will still be limited to the "
827 "memory bandwidth of a single node."
829 "B<MPOL_INTERLEAVE> は、メモリ割り当てが I<nodemask> に指定されたノード間で交"
830 "互に行われることを指定するものである。 このポリシーでは、複数のノードにページ"
831 "を広げて配置し、これらのページへの メモリアクセスを分散することで、遅延ではな"
832 "く、帯域を最適化する。 効果を得るには、メモリ領域をある程度大きくすべきであ"
833 "り、 メモリアクセスのパターンがかなり均一な場合でも 少なくとも 1MB 以上にすべ"
834 "きである。 このモードでも、一つのページへのアクセスに関しては 一つのノードの"
835 "メモリ帯域が上限となることは変わりない。"
838 #: build/C/man2/mbind.2:264
840 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
841 "try to allocate pages from this node first and fall back to other nodes if "
842 "the preferred nodes is low on free memory. If I<nodemask> specifies more "
843 "than one node ID, the first node in the mask will be selected as the "
844 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
845 "empty set, then the memory is allocated on the node of the CPU that "
846 "triggered the allocation. This is the only way to specify \"local allocation"
847 "\" for a range of memory via B<mbind>()."
849 "B<MPOL_PREFERRED> は、割り当て時に優先されるノードを設定する。 カーネルはまず"
850 "優先ノードにページ割り当てを行おうとし、 優先ノードに空きメモリが少ない場合に"
851 "他のノードに割り当てを行う。 I<nodemask> に複数のノード ID が指定された場合"
852 "は、 I<nodemask> 内の最初のノードが優先ノードとして選択される。 引き数 "
853 "I<nodemask>, I<maxnode> で空集合が指定された場合は、割り当てのきっかけとなっ"
854 "た CPU のノードに メモリ割り当てが行われる。 B<mbind>(2) で、あるメモリ領域"
855 "に対して「ローカルからの割り当て (local allocation)」を 指定する方法はこれし"
858 #. According to the kernel code, the following is not true
859 #. --Lee Schermerhorn
860 #. In 2.6.16 or later the kernel will also try to move pages
861 #. to the requested node with this flag.
863 #: build/C/man2/mbind.2:280
865 "If B<MPOL_MF_STRICT> is passed in I<flags> and I<mode> is not "
866 "B<MPOL_DEFAULT>, then the call will fail with the error B<EIO> if the "
867 "existing pages in the memory range don't follow the policy."
869 "I<flags> に B<MPOL_MF_STRICT> が 指定され、 I<mode> が B<MPOL_DEFAULT> でない"
870 "場合、 指定されたポリシーに従っていないメモリ領域にページが存在すると、 "
871 "B<mbind>() はエラー B<EIO> で失敗する。"
874 #: build/C/man2/mbind.2:293
876 "If B<MPOL_MF_MOVE> is specified in I<flags>, then the kernel will attempt to "
877 "move all the existing pages in the memory range so that they follow the "
878 "policy. Pages that are shared with other processes will not be moved. If "
879 "B<MPOL_MF_STRICT> is also specified, then the call will fail with the error "
880 "B<EIO> if some pages could not be moved."
882 "I<flags> に B<MPOL_MF_MOVE> が指定されると、カーネルはそのメモリ領域内の既存"
883 "の全てのページを移動し、 指定されたポリシーに従うようにしようとする。 他のプ"
884 "ロセスと共有されているページは移動されない。 B<MPOL_MF_STRICT> も指定された場"
885 "合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗する。"
887 #. ---------------------------------------------------------------
889 #: build/C/man2/mbind.2:309
891 "If B<MPOL_MF_MOVE_ALL> is passed in I<flags>, then the kernel will attempt "
892 "to move all existing pages in the memory range regardless of whether other "
893 "processes use the pages. The calling process must be privileged "
894 "(B<CAP_SYS_NICE>) to use this flag. If B<MPOL_MF_STRICT> is also "
895 "specified, then the call will fail with the error B<EIO> if some pages could "
898 "I<flags> に B<MPOL_MF_MOVE_ALL> が指定されると、カーネルはそのメモリ領域内の"
899 "既存の全てのページを、 他のプロセスがページを使用しているかどうかに関わらず移"
900 "動する。 このフラグを使用するには、呼び出し元のプロセスは特権 "
901 "(B<CAP_SYS_NICE>) を持っていなければならない。 B<MPOL_MF_STRICT> も指定され"
902 "た場合、移動できなかったページがあると、 B<mbind>() はエラー B<EIO> で失敗す"
905 #. ---------------------------------------------------------------
907 #: build/C/man2/mbind.2:317
909 "On success, B<mbind>() returns 0; on error, -1 is returned and I<errno> is "
910 "set to indicate the error."
912 "成功すると、 B<mbind>() は 0 を返す。エラーの場合、-1 を返し、 I<errno> にエ"
916 #: build/C/man2/mbind.2:327
918 "Part or all of the memory range specified by I<nodemask> and I<maxnode> "
919 "points outside your accessible address space. Or, there was an unmapped "
920 "hole in the specified memory range."
922 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
923 "元がアクセス可能なアドレス空間外を指している。 もしくは指定されたメモリ領域に"
924 "マップされていない部分 (unmapped hole) があった、"
926 #. As at 2.6.23, this limit is "a page worth of bits", e.g.,
927 #. 8 * 4096 bits, assuming a 4kB page size.
929 #: build/C/man2/mbind.2:375
931 "An invalid value was specified for I<flags> or I<mode>; or I<addr + len> was "
932 "less than I<addr>; or I<addr> is not a multiple of the system page size. "
933 "Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> specified a nonempty set; or "
934 "I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> is empty. Or, "
935 "I<maxnode> exceeds a kernel-imposed limit. Or, I<nodemask> specifies one or "
936 "more node IDs that are greater than the maximum supported node ID. Or, none "
937 "of the node IDs specified by I<nodemask> are on-line and allowed by the "
938 "process's current cpuset context, or none of the specified nodes contain "
939 "memory. Or, the I<mode> argument specified both B<MPOL_F_STATIC_NODES> and "
940 "B<MPOL_F_RELATIVE_NODES>."
942 "I<flags> や I<mode> に不正な値が指定された。 I<addr + len> が I<addr> より小"
943 "さい。 I<addr> がシステムのページサイズの倍数になっていない。 または I<mode> "
944 "が B<MPOL_DEFAULT> で I<nodemask> に空でない集合が指定された。 I<mode> が "
945 "B<MPOL_BIND> か B<MPOL_INTERLEAVE> で I<nodemask> が空であった。 I<maxnode> "
946 "がカーネルに適用された上限を超えている。 I<nodemask> に、サポートされている最"
947 "大ノード ID より大きいノードが指定された。 I<nodemask> に、オンラインで、かつ"
948 "そのプロセスの現在の CPU 集合コンテキストで 許可されているノードが一つも含ま"
949 "れていないか、 メモリを含むノードが一つも指定されていない。 I<mode> 引き数に "
950 "B<MPOL_F_STATIC_NODES> と B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
953 #: build/C/man2/mbind.2:375
959 #: build/C/man2/mbind.2:386
961 "B<MPOL_MF_STRICT> was specified and an existing page was already on a node "
962 "that does not follow the policy; or B<MPOL_MF_MOVE> or B<MPOL_MF_MOVE_ALL> "
963 "was specified and the kernel was unable to move all existing pages in the "
966 "B<MPOL_MF_STRICT> が指定されたが、このポリシーに従っていないノードに すでに"
967 "ページが存在していた。 もしくは B<MPOL_MF_MOVE> か B<MPOL_MF_MOVE_ALL> が指定"
968 "されたが、カーネルが指定された領域内の既存の全てのページを 移動することができ"
972 #: build/C/man2/mbind.2:386 build/C/man2/set_mempolicy.2:272
978 #: build/C/man2/mbind.2:389 build/C/man2/set_mempolicy.2:275
979 msgid "Insufficient kernel memory was available."
980 msgstr "利用可能なカーネルメモリが十分でなかった。"
983 #: build/C/man2/mbind.2:389 build/C/man2/migrate_pages.2:97
984 #: build/C/man2/move_pages.2:178
989 #. ---------------------------------------------------------------
991 #: build/C/man2/mbind.2:399
993 "The I<flags> argument included the B<MPOL_MF_MOVE_ALL> flag and the caller "
994 "does not have the B<CAP_SYS_NICE> privilege."
996 "I<flags> 引き数に B<MPOL_MF_MOVE_ALL> フラグが含まれているが、呼び出し元が "
997 "B<CAP_SYS_NICE> 特権を持たない。"
1000 #: build/C/man2/mbind.2:403
1002 "The B<mbind>() system call was added to the Linux kernel in version 2.6.7."
1004 "B<mbind>() システムコールはバージョン 2.6.7 で Linux カーネルに追加された。"
1007 #: build/C/man2/mbind.2:413
1009 "NUMA policy is not supported on a memory mapped file range that was mapped "
1010 "with the B<MAP_SHARED> flag."
1012 "NUMA ポリシーは、 B<MAP_SHARED> フラグが指定されてマップされたメモリマップ・"
1013 "ファイルの領域では サポートされていない。"
1016 #: build/C/man2/mbind.2:445
1018 "The B<MPOL_DEFAULT> mode can have different effects for B<mbind>() and "
1019 "B<set_mempolicy>(2). When B<MPOL_DEFAULT> is specified for B<set_mempolicy>"
1020 "(2), the process's policy reverts to system default policy or local "
1021 "allocation. When B<MPOL_DEFAULT> is specified for a range of memory using "
1022 "B<mbind>(), any pages subsequently allocated for that range will use the "
1023 "process's policy, as set by B<set_mempolicy>(2). This effectively removes "
1024 "the explicit policy from the specified range, \"falling back\" to a possibly "
1025 "nondefault policy. To select explicit \"local allocation\" for a memory "
1026 "range, specify a I<mode> of B<MPOL_PREFERRED> with an empty set of nodes. "
1027 "This method will work for B<set_mempolicy>(2), as well."
1029 "B<MPOL_DEFAULT> モードは、 B<mbind>() と B<set_mempolicy>(2) で異なる効果を"
1030 "持つことができる。 B<set_mempolicy>(2) で B<MPOL_DEFAULT> が指定された場合、"
1031 "そのプロセスのポリシーはシステムの デフォルトポリシー、すなわちローカルからの"
1032 "割り当て、に戻る。 B<mbind>() を使ってメモリのある領域に B<MPOL_DEFAULT> が"
1033 "指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、 "
1034 "B<set_mempolicy>(2) で設定したのと同じように、そのプロセスのポリシーが適用さ"
1035 "れる。 これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、 デ"
1036 "フォルトのポリシーに「戻す」ことができる。 あるメモリ領域に対して「ローカルか"
1037 "らの割り当て」を明示的に設定するには、 I<mode> に B<MPOL_PREFERRED> を指定"
1038 "し、 I<nodemask> に空集合のノードを指定すればよい。 この方法は "
1039 "B<set_mempolicy>(2) でも通用する。"
1042 #: build/C/man2/mbind.2:449
1044 "Support for huge page policy was added with 2.6.16. For interleave policy "
1045 "to be effective on huge page mappings the policied memory needs to be tens "
1046 "of megabytes or larger."
1048 "2.6.16 でヒュージページ・ポリシーへの対応が追加された。 インターリーブ・ポリ"
1049 "シーがヒュージページのマッピングで効果を持つには、 ポリシーが適用されるメモリ"
1050 "が数十メガバイト以上である必要がある。"
1053 #: build/C/man2/mbind.2:452
1054 msgid "B<MPOL_MF_STRICT> is ignored on huge page mappings."
1055 msgstr "B<MPOL_MF_STRICT> はヒュージページのマッピングでは無視される。"
1058 #: build/C/man2/mbind.2:457
1060 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> are available only on Linux 2.6.16 "
1063 "B<MPOL_MF_MOVE> と B<MPOL_MF_MOVE_ALL> は Linux 2.6.16 以降でのみ利用可能であ"
1067 #: build/C/man2/mbind.2:468
1069 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
1070 "(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1072 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2),\n"
1073 "B<shmat>(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7),\n"
1077 #: build/C/man2/migrate_pages.2:18
1079 msgid "MIGRATE_PAGES"
1080 msgstr "MIGRATE_PAGES"
1083 #: build/C/man2/migrate_pages.2:18
1089 #: build/C/man2/migrate_pages.2:21
1090 msgid "migrate_pages - move all pages in a process to another set of nodes"
1091 msgstr "migrate_pages - プロセスの全ページを別のノード集合に移動する"
1094 #: build/C/man2/migrate_pages.2:28
1097 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1098 "B< const unsigned long *>I<old_nodes,>\n"
1099 "B< const unsigned long *>I<new_nodes>B<);>\n"
1101 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1102 "B< const unsigned long *>I<old_nodes,>\n"
1103 "B< const unsigned long *>I<new_nodes>B<);>\n"
1106 #: build/C/man2/migrate_pages.2:31 build/C/man2/move_pages.2:30
1107 msgid "Link with I<-lnuma>."
1108 msgstr "I<-lnuma> とリンクする。"
1111 #: build/C/man2/migrate_pages.2:47
1113 "B<migrate_pages>() attempts to move all pages of the process I<pid> that "
1114 "are in memory nodes I<old_nodes> to the memory nodes in I<new_nodes>. Pages "
1115 "not located in any node in I<old_nodes> will not be migrated. As far as "
1116 "possible, the kernel maintains the relative topology relationship inside "
1117 "I<old_nodes> during the migration to I<new_nodes>."
1119 "B<MIGRATE_PAGES>() は、メモリノード I<old_nodes> にあるプロセス I<pid>\n"
1120 "の全ページを、メモリノード I<new_nodes> に移動しようとする。I<old_nodes> で\n"
1121 "指定されたメモリノードに置かれていないページは移動されない。\n"
1122 "カーネルは、 I<new_nodes> への移動の際に、 I<old_nodes> 内の相対的な\n"
1123 "トポロジー関係を可能な限り維持しようとする。"
1126 #: build/C/man2/migrate_pages.2:69
1128 "The I<old_nodes> and I<new_nodes> arguments are pointers to bit masks of "
1129 "node numbers, with up to I<maxnode> bits in each mask. These masks are "
1130 "maintained as arrays of unsigned I<long> integers (in the last I<long> "
1131 "integer, the bits beyond those specified by I<maxnode> are ignored). The "
1132 "I<maxnode> argument is the maximum node number in the bit mask plus one "
1133 "(this is the same as in B<mbind>(2), but different from B<select>(2))."
1135 "引き数 I<old_nodes> と I<new_nodes> は、最大で I<maxnode> ビットから\n"
1136 "構成されるノード番号のビットマスクへのポインタである。\n"
1137 "各ビットマスクは符号なし I<long> 整数の配列として管理される\n"
1138 "(I<maxnode> で指定された長さを越えた部分のビットは無視される)。\n"
1139 "引き数 I<maxnode> は最大ノード番号であり、ビットマスクの長さに 1 を\n"
1140 "加えた値となる (これは B<mbind>(2) と同じだが、 B<select>(2) とは違う)。"
1143 #: build/C/man2/migrate_pages.2:83
1145 "The I<pid> argument is the ID of the process whose pages are to be moved. "
1146 "To move pages in another process, the caller must be privileged "
1147 "(B<CAP_SYS_NICE>) or the real or effective user ID of the calling process "
1148 "must match the real or saved-set user ID of the target process. If I<pid> "
1149 "is 0, then B<migrate_pages>() moves pages of the calling process."
1151 "引き数 I<pid> は、移動を行うページの所有者のプロセス ID である。\n"
1152 "別のプロセスのページを移動するには、呼び出したプロセスが特権\n"
1153 "(B<CAP_SYS_NICE>) を持っているか、呼び出したプロセスの実ユーザ ID か\n"
1154 "実効ユーザ ID がページ移動の対象プロセスの実ユーザ ID か saved-set \n"
1155 "ユーザ ID と一致していなければならない。I<pid> が 0 の場合、\n"
1156 "B<migrate_pages>() は呼び出したプロセスのページを移動する。"
1159 #: build/C/man2/migrate_pages.2:88
1161 "Pages shared with another process will be moved only if the initiating "
1162 "process has the B<CAP_SYS_NICE> privilege."
1164 "別のプロセスと共有しているページは、呼び出したプロセスが\n"
1165 "B<CAP_SYS_NICE> 特権を持っている場合にのみ移動される。"
1168 #: build/C/man2/migrate_pages.2:96
1170 "On success B<migrate_pages>() returns the number of pages that could not be "
1171 "moved (i.e., a return of zero means that all pages were successfully "
1172 "moved). On error, it returns -1, and sets I<errno> to indicate the error."
1174 "B<migrate_pages>() は、移動できなかったページ数を返す\n"
1175 "(つまり、移動に成功した場合は返り値は 0 となる)。\n"
1176 "エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
1179 #: build/C/man2/migrate_pages.2:106
1181 "Insufficient privilege (B<CAP_SYS_NICE>) to move pages of the process "
1182 "specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>) to access "
1183 "the specified target nodes."
1185 "I<pid> で指定されたプロセスのページを移動するのに必要な特権\n"
1186 "(B<CAP_SYS_NICE>) がなかった。または、指定された対象ノードにアクセス\n"
1187 "するのに必要な権限 (B<CAP_SYS_NICE>) がなかった。"
1190 #: build/C/man2/migrate_pages.2:106 build/C/man2/move_pages.2:187
1195 #. FIXME There are other errors
1197 #: build/C/man2/migrate_pages.2:112
1198 msgid "No process matching I<pid> could be found."
1199 msgstr "プロセス ID が I<pid> のプロセスが見つからなかった。"
1202 #: build/C/man2/migrate_pages.2:116
1204 "The B<migrate_pages>() system call first appeared on Linux in version "
1206 msgstr "B<migrate_pages>() システムコールは Linux 2.6.16 で初めて登場した。"
1209 #: build/C/man2/migrate_pages.2:130
1211 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1212 "set of nodes that are allowed by the calling process's cpuset. Note that "
1213 "this information is subject to change at any time by manual or automatic "
1214 "reconfiguration of the cpuset."
1216 "呼び出し元プロセスの CPU 集合で許可されているノード集合を取得するには、\n"
1217 "B<MPOL_F_MEMS_ALLOWED> フラグを付けて B<get_mempolicy>(2) を使うこと。\n"
1218 "この情報は、手動/自動に限らず CPU 集合の再構成によりいつでも\n"
1219 "変更されることがある点に注意してほしい。"
1222 #: build/C/man2/migrate_pages.2:142
1224 "Use of B<migrate_pages>() may result in pages whose location (node) "
1225 "violates the memory policy established for the specified addresses (see "
1226 "B<mbind>(2)) and/or the specified process (see B<set_mempolicy>(2)). That "
1227 "is, memory policy does not constrain the destination nodes used by "
1228 "B<migrate_pages>()."
1230 "B<migrate_pages> を使用すると、ページが置かれる場所 (ノード) が、指定\n"
1231 "されたアドレスに対して設定されたメモリポリシー (B<mbind>(2) 参照) や\n"
1232 "指定されたプロセスに対して設定されたメモリポリシー\n"
1233 "(B<set_mempolicy>(2) 参照) に違反する状況になる可能性がある。\n"
1234 "すなわち、メモリポリシーによる制約は B<migrate_pages>() による移動先\n"
1235 "ノードの選択には適用されないということである。"
1238 #: build/C/man2/migrate_pages.2:148 build/C/man2/move_pages.2:225
1240 "The I<E<lt>numaif.hE<gt>> header is not included with glibc, but requires "
1241 "installing I<libnuma-devel> or a similar package."
1243 "ヘッダファイル I<E<lt>numaif.hE<gt>> は glibc には含まれておらず、 I<libnuma-"
1244 "devel> か同様のパッケージをインストールする必要がある。"
1247 #: build/C/man2/migrate_pages.2:158 build/C/man2/move_pages.2:235
1249 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1250 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1253 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1254 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numa_stat>"
1258 #: build/C/man2/migrate_pages.2:161
1259 msgid "I<Documentation/vm/page_migration> in the Linux kernel source tree"
1260 msgstr "Linux カーネルソースの I<Documentation/vm/page_migration>"
1263 #: build/C/man2/move_pages.2:18
1269 #: build/C/man2/move_pages.2:18
1275 #: build/C/man2/move_pages.2:21
1276 msgid "move_pages - move individual pages of a process to another node"
1277 msgstr "move_pages - あるプロセスの個々のページを別のノードに移動する"
1280 #: build/C/man2/move_pages.2:27
1283 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1284 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1286 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1287 "B< const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1290 #: build/C/man2/move_pages.2:43
1292 "B<move_pages>() moves the specified I<pages> of the process I<pid> to the "
1293 "memory nodes specified by I<nodes>. The result of the move is reflected in "
1294 "I<status>. The I<flags> indicate constraints on the pages to be moved."
1296 "B<move_pages>() は、プロセス I<pid> の指定されたページ I<pages> を I<nodes> "
1297 "で指定されたメモリノードに移動する。 移動の結果は I<status> に反映される。 "
1298 "I<flags> では移動されるページに関する制約を指定する。"
1301 #: build/C/man2/move_pages.2:56
1303 "I<pid> is the ID of the process in which pages are to be moved. To move "
1304 "pages in another process, the caller must be privileged (B<CAP_SYS_NICE>) "
1305 "or the real or effective user ID of the calling process must match the real "
1306 "or saved-set user ID of the target process. If I<pid> is 0, then "
1307 "B<move_pages>() moves pages of the calling process."
1309 "I<pid> は、移動されるページが属するプロセスの ID である。 別のプロセスのペー"
1310 "ジを移動するためには、呼び出し元が特権 (B<CAP_SYS_NICE>) を持っているか、呼"
1311 "び出したプロセスの実ユーザ ID か実効ユーザ ID が ページ移動対象のプロセスの実"
1312 "ユーザ ID か保存 set-user-ID のどちらかと 一致しなければならない。 I<pid> が "
1313 "0 の場合、 B<move_pages>() は呼び出したプロセスのページを移動する。"
1316 #: build/C/man2/move_pages.2:64
1318 "I<count> is the number of pages to move. It defines the size of the three "
1319 "arrays I<pages>, I<nodes>, and I<status>."
1321 "I<count> は移動するページ数である。 I<count> により I<pages>, I<nodes>, "
1322 "I<status> の 3 つの配列の大きさが定義される。"
1324 #. FIXME what if they are not aligned?
1326 #: build/C/man2/move_pages.2:71
1328 "I<pages> is an array of pointers to the pages that should be moved. These "
1329 "are pointers that should be aligned to page boundaries. Addresses are "
1330 "specified as seen by the process specified by I<pid>."
1332 "I<pages> は、移動すべきページへのポインタの配列であり、 各ポインタはページ境"
1333 "界に揃えた値を指定すべきである。 I<pid> で指定されたプロセスで見えるアドレス"
1337 #: build/C/man2/move_pages.2:84
1339 "I<nodes> is an array of integers that specify the desired location for each "
1340 "page. Each element in the array is a node number. I<nodes> can also be "
1341 "NULL, in which case B<move_pages>() does not move any pages but instead "
1342 "will return the node where each page currently resides, in the I<status> "
1343 "array. Obtaining the status of each page may be necessary to determine "
1344 "pages that need to be moved."
1346 "I<nodes> は、各ページの希望の移動場所を示す整数値の配列であり、 配列の各要素"
1347 "はノード番号である。 I<nodes> には NULL を指定することもでき、この場合には "
1348 "B<move_pages>() はどのページも移動しないが、各ページが現在配置されているノー"
1349 "ドを配列 I<status> に格納して返す。どのページを移動する必要があるかを判断する"
1350 "ために、 各ページの状態の取得が必要な場合もある。"
1353 #: build/C/man2/move_pages.2:90
1355 "I<status> is an array of integers that return the status of each page. The "
1356 "array contains valid values only if B<move_pages>() did not return an error."
1358 "I<status> は、各ページの状態を表す整数値の配列である。 この配列に有効な値が格"
1359 "納されるのは、 B<move_pages>() がエラーを返さなかった場合だけである。"
1362 #: build/C/man2/move_pages.2:102
1364 "I<flags> specify what types of pages to move. B<MPOL_MF_MOVE> means that "
1365 "only pages that are in exclusive use by the process are to be moved. "
1366 "B<MPOL_MF_MOVE_ALL> means that pages shared between multiple processes can "
1367 "also be moved. The process must be privileged (B<CAP_SYS_NICE>) to use "
1368 "B<MPOL_MF_MOVE_ALL>."
1370 "I<flags> には、どの種類のページを移動するかを指定する。 B<MPOL_MF_MOVE> は、"
1371 "そのプロセスが排他的に使用しているページだけを移動することを意味する。 "
1372 "B<MPOL_MF_MOVE_ALL> は、複数のプロセス間で共有されているページも移動できるこ"
1373 "とを意味する。 B<MPOL_MF_MOVE_ALL> を使用するためには、そのプロセスが特権 "
1374 "(B<CAP_SYS_NICE>) を持っていなければならない。"
1377 #: build/C/man2/move_pages.2:102
1379 msgid "Page states in the status array"
1380 msgstr "status 配列に格納されるページ状態"
1383 #: build/C/man2/move_pages.2:106
1385 "The following values can be returned in each element of the I<status> array."
1386 msgstr "I<status> 配列の各要素として、以下の値が返される。"
1389 #: build/C/man2/move_pages.2:106
1391 msgid "B<0..MAX_NUMNODES>"
1392 msgstr "B<0..MAX_NUMNODES>"
1395 #: build/C/man2/move_pages.2:109
1396 msgid "Identifies the node on which the page resides."
1397 msgstr "そのページが配置されているノードを示す。"
1400 #: build/C/man2/move_pages.2:109
1406 #: build/C/man2/move_pages.2:114
1408 "The page is mapped by multiple processes and can be moved only if "
1409 "B<MPOL_MF_MOVE_ALL> is specified."
1411 "そのページは複数のプロセスによりマップされており、 B<MPOL_MF_MOVE_ALL> が指定"
1415 #: build/C/man2/move_pages.2:114
1421 #: build/C/man2/move_pages.2:120
1423 "The page is currently busy and cannot be moved. Try again later. This "
1424 "occurs if a page is undergoing I/O or another kernel subsystem is holding a "
1425 "reference to the page."
1427 "そのページが現在ビジーであり、移動できない。後でもう一度試すこと。 この状況"
1428 "は、ページが I/O の実行中であったり、カーネルの他のサブシステム がそのページ"
1429 "への参照を保持している場合に発生する。"
1432 #: build/C/man2/move_pages.2:120
1438 #: build/C/man2/move_pages.2:123
1439 msgid "This is a zero page or the memory area is not mapped by the process."
1441 "そのページが zero page であるか、そのメモリ領域はそのプロセスにより マップさ"
1445 #: build/C/man2/move_pages.2:123
1451 #: build/C/man2/move_pages.2:130
1453 "Unable to write back a page. The page has to be written back in order to "
1454 "move it since the page is dirty and the file system does not provide a "
1455 "migration function that would allow the move of dirty pages."
1457 "ページを書き戻す (write back) ことができない。 ページが dirty で、ファイルシ"
1458 "ステムが dirty なページを移動できるような 移動機能を提供していないため、その"
1459 "ページを移動するためにはページを 書き戻さなければならない。"
1462 #: build/C/man2/move_pages.2:130
1468 #: build/C/man2/move_pages.2:135
1470 "A dirty page cannot be moved. The file system does not provide a migration "
1471 "function and has no ability to write back pages."
1473 "dirty なページを移動できない。 ファイルシステムが dirty なページを移動するた"
1474 "めの機能を提供しておらず、 ページを書き戻す能力もない。"
1477 #: build/C/man2/move_pages.2:135
1483 #: build/C/man2/move_pages.2:138
1484 msgid "The page is not present."
1488 #: build/C/man2/move_pages.2:138
1494 #: build/C/man2/move_pages.2:141
1495 msgid "Unable to allocate memory on target node."
1496 msgstr "移動先のノードでメモリを確保することができない。"
1498 #. FIXME Is the following quite true: does the wrapper in numactl
1499 #. do the right thing?
1501 #: build/C/man2/move_pages.2:150
1503 "On success B<move_pages>() returns zero. On error, it returns -1, and sets "
1504 "I<errno> to indicate the error."
1506 "成功すると、 B<move_pages>() は 0 を返す。 エラーの場合、-1 を返し、 "
1507 "I<errno> にエラーを示す値を設定する。"
1510 #: build/C/man2/move_pages.2:151
1516 #: build/C/man2/move_pages.2:154
1517 msgid "Too many pages to move."
1518 msgstr "移動すべきページが多過ぎる。"
1521 #: build/C/man2/move_pages.2:154
1526 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1529 #: build/C/man2/move_pages.2:159
1530 msgid "One of the target nodes is not allowed by the current cpuset."
1531 msgstr "移動先のノードのいずれかが現在の CPU 集合では許可されていない。"
1534 #: build/C/man2/move_pages.2:162
1535 msgid "Parameter array could not be accessed."
1536 msgstr "パラメータ配列にアクセスできなかった。"
1539 #: build/C/man2/move_pages.2:169
1541 "Flags other than B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> was specified or an "
1542 "attempt was made to migrate pages of a kernel thread."
1544 "I<flags> に B<MPOL_MF_MOVE> でも B<MPOL_MF_MOVE_ALL> でもない値が指定された"
1545 "か、カーネルスレッドのページを移動させようとした。"
1548 #: build/C/man2/move_pages.2:169
1554 #: build/C/man2/move_pages.2:172
1555 msgid "One of the target nodes is not online."
1556 msgstr "移動先のノードのいずれかがオンラインでない。"
1559 #: build/C/man2/move_pages.2:172
1565 #: build/C/man2/move_pages.2:178
1567 "No pages were found that require moving. All pages are either already on "
1568 "the target node, not present, had an invalid address or could not be moved "
1569 "because they were mapped by multiple processes."
1571 "移動が必要なページが全く見つからなかった。 指定された全てのページが、すでに移"
1572 "動先のノードに存在するか、存在しないか、 無効なアドレスであったか、複数のプロ"
1573 "セスによってマップされていて移動でき なかったか、のいずれかであった。"
1576 #: build/C/man2/move_pages.2:187
1578 "The caller specified B<MPOL_MF_MOVE_ALL> without sufficient privileges "
1579 "(B<CAP_SYS_NICE>). Or, the caller attempted to move pages of a process "
1580 "belonging to another user but did not have privilege to do so "
1581 "(B<CAP_SYS_NICE>)."
1583 "呼び出し元は B<MPOL_MF_MOVE_ALL> を指定したが、十分な特権 (B<CAP_SYS_NICE>) "
1584 "を持っていない。 または、呼び出し元が他のユーザに属するプロセスのページを移動"
1585 "しようとしたが、 それを行えるだけの特権 (B<CAP_SYS_NICE>) を持っていなかっ"
1589 #: build/C/man2/move_pages.2:190
1590 msgid "Process does not exist."
1591 msgstr "プロセスが存在しない。"
1594 #: build/C/man2/move_pages.2:193
1595 msgid "B<move_pages>() first appeared on Linux in version 2.6.18."
1596 msgstr "B<move_pages>() は、バージョン 2.6.18 で初めて Linux に登場した。"
1598 #. FIXME Clarify "current cpuset". Is that the cpuset of the caller
1601 #: build/C/man2/move_pages.2:209
1603 "Use B<get_mempolicy>(2) with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1604 "set of nodes that are allowed by the current cpuset. Note that this "
1605 "information is subject to change at any time by manual or automatic "
1606 "reconfiguration of the cpuset."
1608 "現在の CPU 集合で許可されているノードの集合を取得するには、フラグ "
1609 "B<MPOL_F_MEMS_ALLOWED> を指定して B<get_mempolicy>(2) を使用すればよい。 取"
1610 "得した情報は、CPU 集合の手動または自動での再構成により いつ何時変化してしまう"
1614 #: build/C/man2/move_pages.2:219
1616 "Use of this function may result in pages whose location (node) violates the "
1617 "memory policy established for the specified addresses (See B<mbind>(2)) and/"
1618 "or the specified process (See B<set_mempolicy>(2)). That is, memory policy "
1619 "does not constrain the destination nodes used by B<move_pages>()."
1621 "この関数を使用すると、ページの位置 (ノード) が 指定されたアドレスに対して設定"
1622 "されたメモリポリシー (B<mbind>(2) 参照) や指定されたプロセスに対して設定され"
1623 "たメモリポリシー (B<set_mempolicy>(2) 参照) に違反してしまう可能性がある。 "
1624 "つまり、メモリポリシーは B<move_pages>() で使われる移動先ノードを制限しない"
1628 #: build/C/man7/numa.7:29
1634 #: build/C/man7/numa.7:29
1640 #: build/C/man7/numa.7:32
1641 msgid "numa - overview of Non-Uniform Memory Architecture"
1642 msgstr "numa - 非対称型メモリアーキテクチャの概要"
1645 #: build/C/man7/numa.7:43
1647 "Non-Uniform Memory Access (NUMA) refers to multiprocessor systems whose "
1648 "memory is divided into multiple memory nodes. The access time of a memory "
1649 "node depends on the relative locations of the accessing CPU and the accessed "
1650 "node. (This contrasts with a symmetric multiprocessor system, where the "
1651 "access time for all of the memory is the same for all CPUs.) Normally, each "
1652 "CPU on a NUMA system has a local memory node whose contents can be accessed "
1653 "faster than the memory in the node local to another CPU or the memory on a "
1654 "bus shared by all CPUs."
1656 "非対称型メモリアクセス (Non-Uniform Memory Access; NUMA) は、\n"
1657 "メモリが複数のメモリノードに分割されているマルチプロセッサシステム\n"
1658 "のことである。メモリノードへのアクセス時間は、アクセス元の CPU と\n"
1659 "アクセス先のノードの相対的な位置関係に依存する\n"
1660 "(これに対し、対称型マルチプロセッサシステムでは、どの CPU から\n"
1661 "どのメモリへのアクセス時間も同じである)。\n"
1662 "通常は、 NUMA システムの各 CPU にはローカルのメモリノードがあり、\n"
1663 "そのメモリノードには、他の CPU のローカルノードや全ての CPU で\n"
1664 "共有されるバス上のメモリよりも早くアクセスすることができる。"
1667 #: build/C/man7/numa.7:43
1669 msgid "NUMA system calls"
1670 msgstr "NUMA システムコール"
1673 #: build/C/man7/numa.7:54
1675 "The Linux kernel implements the following NUMA-related system calls: "
1676 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2), B<move_pages>(2), and "
1677 "B<set_mempolicy>(2). However, applications should normally use the "
1678 "interface provided by I<libnuma>; see \"Library Support\" below."
1680 "Linux カーネルには、次に示す NUMA 関連のシステムコールが実装されている:\n"
1681 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2),\n"
1682 "B<move_pages>(2), B<set_mempolicy>(2).\n"
1683 "ただし、アプリケーションは通常は I<libnuma> が提供するインターフェース\n"
1684 "を使用すべきである。下記の「ライブラリによるサポート」を参照。"
1687 #: build/C/man7/numa.7:54
1689 msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1690 msgstr "/proc/[number]/numa_maps (Linux 2.6.14 以降)"
1692 #. See also Changelog-2.6.14
1694 #: build/C/man7/numa.7:58
1696 "This file displays information about a process's NUMA memory policy and "
1699 "このファイルは、プロセスの NUMA メモリポリシーと割り当てに関する\n"
1703 #: build/C/man7/numa.7:62
1705 "Each line contains information about a memory range used by the process, "
1706 "displaying\\(emamong other information\\(emthe effective memory policy for "
1707 "that memory range and on which nodes the pages have been allocated."
1711 #: build/C/man7/numa.7:70
1713 "I<numa_maps> is a read-only file. When I</proc/E<lt>pidE<gt>/numa_maps> is "
1714 "read, the kernel will scan the virtual address space of the process and "
1715 "report how memory is used. One line is displayed for each unique memory "
1716 "range of the process."
1720 #: build/C/man7/numa.7:77
1722 "The first field of each line shows the starting address of the memory "
1723 "range. This field allows a correlation with the contents of the I</proc/"
1724 "E<lt>pidE<gt>/maps> file, which contains the end address of the range and "
1725 "other information, such as the access permissions and sharing."
1729 #: build/C/man7/numa.7:85
1731 "The second field shows the memory policy currently in effect for the memory "
1732 "range. Note that the effective policy is not necessarily the policy "
1733 "installed by the process for that memory range. Specifically, if the "
1734 "process installed a \"default\" policy for that range, the effective policy "
1735 "for that range will be the process policy, which may or may not be \"default"
1740 #: build/C/man7/numa.7:88
1742 "The rest of the line contains information about the pages allocated in the "
1743 "memory range, as follows:"
1747 #: build/C/man7/numa.7:88
1749 msgid "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1750 msgstr "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1753 #: build/C/man7/numa.7:101
1755 "The number of pages allocated on I<E<lt>nodeE<gt>>. I<E<lt>nr_pagesE<gt>> "
1756 "includes only pages currently mapped by the process. Page migration and "
1757 "memory reclaim may have temporarily unmapped pages associated with this "
1758 "memory range. These pages may show up again only after the process has "
1759 "attempted to reference them. If the memory range represents a shared memory "
1760 "area or file mapping, other processes may currently have additional pages "
1761 "mapped in a corresponding memory range."
1765 #: build/C/man7/numa.7:101
1767 msgid "I<file=E<lt>filenameE<gt>>"
1768 msgstr "I<file=E<lt>filenameE<gt>>"
1771 #: build/C/man7/numa.7:107
1773 "The file backing the memory range. If the file is mapped as private, write "
1774 "accesses may have generated COW (Copy-On-Write) pages in this memory range. "
1775 "These pages are displayed as anonymous pages."
1779 #: build/C/man7/numa.7:107
1785 #: build/C/man7/numa.7:110
1786 msgid "Memory range is used for the heap."
1787 msgstr "ヒープに使用されているメモリ範囲。"
1790 #: build/C/man7/numa.7:110
1796 #: build/C/man7/numa.7:113
1797 msgid "Memory range is used for the stack."
1798 msgstr "スタックに使用されているメモリ範囲。"
1801 #: build/C/man7/numa.7:113
1807 #: build/C/man7/numa.7:117
1809 "Huge memory range. The page counts shown are huge pages and not regular "
1812 "ヒュージメモリの範囲。表示されるページ数は、\n"
1813 "通常の大きさのページではなく、ヒュージページの数である。"
1816 #: build/C/man7/numa.7:117
1818 msgid "I<anon=E<lt>pagesE<gt>>"
1819 msgstr "I<anon=E<lt>pagesE<gt>>"
1822 #: build/C/man7/numa.7:120
1823 msgid "The number of anonymous page in the range."
1824 msgstr "メモリ範囲内の無名ページ (anonymous page) の数。"
1827 #: build/C/man7/numa.7:120
1829 msgid "I<dirty=E<lt>pagesE<gt>>"
1830 msgstr "I<dirty=E<lt>pagesE<gt>>"
1833 #: build/C/man7/numa.7:123
1834 msgid "Number of dirty pages."
1835 msgstr "dirty (変更された) ページの数。"
1838 #: build/C/man7/numa.7:123
1840 msgid "I<mapped=E<lt>pagesE<gt>>"
1841 msgstr "I<mapped=E<lt>pagesE<gt>>"
1844 #: build/C/man7/numa.7:130
1846 "Total number of mapped pages, if different from I<dirty> and I<anon> pages."
1850 #: build/C/man7/numa.7:130
1852 msgid "I<mapmax=E<lt>countE<gt>>"
1853 msgstr "I<mapmax=E<lt>countE<gt>>"
1856 #: build/C/man7/numa.7:136
1858 "Maximum mapcount (number of processes mapping a single page) encountered "
1859 "during the scan. This may be used as an indicator of the degree of sharing "
1860 "occurring in a given memory range."
1864 #: build/C/man7/numa.7:136
1866 msgid "I<swapcache=E<lt>countE<gt>>"
1867 msgstr "I<swapcache=E<lt>countE<gt>>"
1870 #: build/C/man7/numa.7:139
1871 msgid "Number of pages that have an associated entry on a swap device."
1875 #: build/C/man7/numa.7:139
1877 msgid "I<active=E<lt>pagesE<gt>>"
1878 msgstr "I<active=E<lt>pagesE<gt>>"
1881 #: build/C/man7/numa.7:145
1883 "The number of pages on the active list. This field is shown only if "
1884 "different from the number of pages in this range. This means that some "
1885 "inactive pages exist in the memory range that may be removed from memory by "
1890 #: build/C/man7/numa.7:145
1892 msgid "I<writeback=E<lt>pagesE<gt>>"
1893 msgstr "I<writeback=E<lt>pagesE<gt>>"
1896 #: build/C/man7/numa.7:148
1897 msgid "Number of pages that are currently being written out to disk."
1901 #: build/C/man7/numa.7:150
1902 msgid "No standards govern NUMA interfaces."
1903 msgstr "NUMA インターフェースについて規定している標準はない。"
1906 #: build/C/man7/numa.7:157
1908 "The Linux NUMA system calls and I</proc> interface are available only if the "
1909 "kernel was configured and built with the B<CONFIG_NUMA> option."
1911 "Linux の NUMA システムコールと I</proc> インターフェースは、カーネルが\n"
1912 "設定オプション B<CONFIG_NUMA> を有効にして作成されている場合のみ、利用\n"
1916 #: build/C/man7/numa.7:157
1918 msgid "Library support"
1919 msgstr "ライブラリによるサポート"
1922 #: build/C/man7/numa.7:166
1924 "Link with I<-lnuma> to get the system call definitions. I<libnuma> and the "
1925 "required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
1928 "システムコールの定義を得るには I<-lnuma> でリンクすること。\n"
1929 "I<libnuma> と必要なヘッダファイル I<E<lt>numaif.hE<gt>> は\n"
1930 "I<numactl> パッケージで提供されている。"
1933 #: build/C/man7/numa.7:183
1935 "However, applications should not use these system calls directly. Instead, "
1936 "the higher level interface provided by the B<numa>(3) functions in the "
1937 "I<numactl> package is recommended. The I<numactl> package is available at "
1938 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE .> "
1939 "The package is also included in some Linux distributions. Some "
1940 "distributions include the development library and header in the separate "
1941 "I<numactl-devel> package."
1943 "ただし、アプリケーションはこれらのシステムコールを直接利用すべきでない。\n"
1944 "推奨される方法は、I<numactl> パッケージの B<numa>(3) の関数群が提供する\n"
1945 "高レベルインターフェースの利用である。 I<numactl> パッケージは\n"
1946 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE> で"
1948 "このパッケージが収録されている Linux ディストリビューションもある。\n"
1949 "ディストリビューションによっては、開発用のライブラリとヘッダファイルは\n"
1950 "別パッケージ I<numactl-devel> で提供されている。"
1953 #: build/C/man7/numa.7:191
1955 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
1956 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
1958 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
1959 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
1962 #: build/C/man2/set_mempolicy.2:27
1964 msgid "SET_MEMPOLICY"
1965 msgstr "SET_MEMPOLICY"
1968 #: build/C/man2/set_mempolicy.2:30
1970 "set_mempolicy - set default NUMA memory policy for a process and its children"
1972 "set_mempolicy - プロセスとその子プロセスの NUMA メモリの デフォルトポリシーを"
1976 #: build/C/man2/set_mempolicy.2:36
1979 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
1980 "B< unsigned long >I<maxnode>B<);>\n"
1982 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
1983 "B< unsigned long >I<maxnode>B<);>\n"
1986 #: build/C/man2/set_mempolicy.2:49
1988 "B<set_mempolicy>() sets the NUMA memory policy of the calling process, "
1989 "which consists of a policy mode and zero or more nodes, to the values "
1990 "specified by the I<mode>, I<nodemask> and I<maxnode> arguments."
1992 "B<set_mempolicy>() は、呼び出し元プロセスの NUMA ポリシーを I<policy> に設定"
1993 "する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから構成され、 設定内"
1994 "容は引き数 I<mode>, I<nodemask>, I<maxnode> により指定される。"
1997 #: build/C/man2/set_mempolicy.2:75
1999 "This system call defines the default policy for the process. The process "
2000 "policy governs allocation of pages in the process's address space outside of "
2001 "memory ranges controlled by a more specific policy set by B<mbind>(2). The "
2002 "process default policy also controls allocation of any pages for memory "
2003 "mapped files mapped using the B<mmap>(2) call with the B<MAP_PRIVATE> flag "
2004 "and that are only read [loaded] from by the process and of memory mapped "
2005 "files mapped using the B<mmap>(2) call with the B<MAP_SHARED> flag, "
2006 "regardless of the access type. The policy is applied only when a new page "
2007 "is allocated for the process. For anonymous memory this is when the page is "
2008 "first touched by the application."
2010 "B<set_mempolicy>() は、プロセスのデフォルトポリシーを定める。 プロセスのポリ"
2011 "シーは、 B<mbind>(2) で設定される特定のポリシーにより制御されるメモリ領域以"
2012 "外の プロセスのアドレス空間におけるページの割り当てに適用される。 プロセスの"
2013 "デフォルトポリシーは、 B<MAP_PRIVATE> フラグを指定した B<mmap>(2) を使って"
2014 "マップされたメモリマップ・ファイルに対する読み出し専用 (ロードされるだけ) の"
2015 "ページの割り当てにも適用される。 また、 B<MAP_SHARED> フラグを指定した "
2016 "B<mmap>(2) を使ってマップされたメモリマップ・ファイルに対するページの割り当"
2017 "てにも 適用される (この場合はページのアクセス種別に関わらず適用される) 。 設"
2018 "定したポリシーは、プロセスに新規のページが割り当てられるときにのみ 適用され"
2019 "る。無名メモリ (anonymous memory) の場合、新規ページの割り当ては アプリケー"
2020 "ションが初めてページにアクセスした際に行われる。"
2023 #: build/C/man2/set_mempolicy.2:89
2025 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
2026 "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>. All modes except B<MPOL_DEFAULT> "
2027 "require the caller to specify via the I<nodemask> argument one or more nodes."
2029 "I<mode> 引き数には B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
2030 "B<MPOL_PREFERRED> のいずれか一つを指定してしなければならない。 "
2031 "B<MPOL_DEFAULT> 以外のポリシーの場合、呼び出し元は I<nodemask> 引き数で一つ以"
2035 #: build/C/man2/set_mempolicy.2:97
2037 "The I<mode> argument may also include an optional I<mode flag>. The "
2038 "supported I<mode flags> are:"
2040 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
2041 "れている I<モードフラグ> は以下の通りである。"
2044 #: build/C/man2/set_mempolicy.2:97
2046 msgid "B<MPOL_F_STATIC_NODES> (since Linux 2.6.26)"
2047 msgstr "B<MPOL_F_STATIC_NODES> (Linux 2.6.26 以降)"
2050 #: build/C/man2/set_mempolicy.2:107
2052 "A nonempty I<nodemask> specifies physical node ids. Linux does will not "
2053 "remap the I<nodemask> when the process moves to a different cpuset context, "
2054 "nor when the set of nodes allowed by the process's current cpuset context "
2057 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
2058 "なる CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセス"
2059 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
2060 "I<nodemask> をマッピングし直すことはない。"
2063 #: build/C/man2/set_mempolicy.2:107
2065 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux 2.6.26)"
2066 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux 2.6.26 以降)"
2069 #: build/C/man2/set_mempolicy.2:133
2071 "I<nodemask> points to a bit mask of node IDs that contains up to I<maxnode> "
2072 "bits. The bit mask size is rounded to the next multiple of I<sizeof"
2073 "(unsigned long)>, but the kernel will use bits only up to I<maxnode>. A "
2074 "NULL value of I<nodemask> or a I<maxnode> value of zero specifies the empty "
2075 "set of nodes. If the value of I<maxnode> is zero, the I<nodemask> argument "
2078 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノード ID のビットマス"
2079 "クを指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切"
2080 "り上げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
2081 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
2082 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。"
2085 #: build/C/man2/set_mempolicy.2:154
2087 "Where a I<nodemask> is required, it must contain at least one node that is "
2088 "on-line, allowed by the process's current cpuset context, [unless the "
2089 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory. If the "
2090 "B<MPOL_F_STATIC_NODES> is set in I<mode> and a required I<nodemask> contains "
2091 "no nodes that are allowed by the process's current cpuset context, the "
2092 "memory policy reverts to I<local allocation>. This effectively overrides "
2093 "the specified policy until the process's cpuset context includes one or more "
2094 "of the nodes specified by I<nodemask>."
2096 "I<nodemask> が必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現"
2097 "在の CPU 集合コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラ"
2098 "グが指定されていない場合)、メモリがあるノードが 少なくとも一つ入っていなけれ"
2099 "ばならない。 I<mode> に B<MPOL_F_STATIC_NODES> がセットされ、 I<nodemask> が"
2100 "必須の場面で、 I<nodemask> に、そのプロセスの現在の CPU 集合コンテキストで許"
2101 "可されたノードが 一つも含まれていない場合には、メモリのポリシーとしてデフォル"
2102 "トの 「ローカルから割り当て (local allocation)」が適用される。 そのプロセス"
2103 "の CPU 集合コンテキストが I<nodemask> で指定されたノードを少なくとも一つ含む"
2104 "ようになるまでは、 結果的に指定された動作が上書きされることになる。"
2107 #: build/C/man2/set_mempolicy.2:165
2109 "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory policy "
2110 "be removed, so that the memory policy \"falls back\" to the system default "
2111 "policy. The system default policy is \"local allocation\"-- i.e., allocate "
2112 "memory on the node of the CPU that triggered the allocation. I<nodemask> "
2113 "must be specified as NULL. If the \"local node\" contains no free memory, "
2114 "the system will attempt to allocate memory from a \"near by\" node."
2116 "B<MPOL_DEFAULT> モードは、デフォルトではないプロセスのメモリポリシーを削除す"
2117 "ることを 指定するものである。これにより、メモリポリシーはシステムの デフォル"
2118 "トポリシーに「戻る」ことになる。 システムのデフォルトポリシーは「ローカルから"
2119 "の割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU "
2120 "のノードのメモリが割り当てられる。 I<nodemask> には NULL を指定しなければなら"
2121 "ない。 「自ノード (local node)」に空きメモリが全くない場合、システムは 「近く"
2122 "の (near by) ノード」からメモリを割り当てようと試みる。"
2125 #: build/C/man2/set_mempolicy.2:182
2127 "The B<MPOL_BIND> mode defines a strict policy that restricts memory "
2128 "allocation to the nodes specified in I<nodemask>. If I<nodemask> specifies "
2129 "more than one node, page allocations will come from the node with the lowest "
2130 "numeric node ID first, until that node contains no free memory. Allocations "
2131 "will then come from the node with the next highest node ID specified in "
2132 "I<nodemask> and so forth, until none of the specified nodes contain free "
2133 "memory. Pages will not be allocated from any node not specified in the "
2136 "B<MPOL_BIND> モードは厳密なポリシーで、メモリ割り当ては I<nodemask> に指定さ"
2137 "れたノードに限定される。 I<nodemask> に 2 個以上のノードが指定された場合、"
2138 "ページの割り当ては ノード ID が数字として最小のノードから開始され、 そのノー"
2139 "ドに空きメモリがなくなるまでそのノードから ページ割り当てが行われる。そのノー"
2140 "ドに空きメモリがなくなったら、 次に小さなノード ID を持つノードからページ割り"
2141 "当てが行われる。 これを、 I<nodemask> で指定された全てのノードで空きメモリが"
2142 "なくなるまで繰り返す。 I<nodemask> で指定された以外のノードからはページの割り"
2145 #. NOTE: the following sentence doesn't make sense in the context
2146 #. of set_mempolicy() -- no memory area specified.
2147 #. To be effective the memory area should be fairly large,
2148 #. at least 1MB or bigger.
2150 #: build/C/man2/set_mempolicy.2:196
2152 "B<MPOL_INTERLEAVE> interleaves page allocations across the nodes specified "
2153 "in I<nodemask> in numeric node ID order. This optimizes for bandwidth "
2154 "instead of latency by spreading out pages and memory accesses to those pages "
2155 "across multiple nodes. However, accesses to a single page will still be "
2156 "limited to the memory bandwidth of a single node."
2158 "B<MPOL_INTERLEAVE> では、ページ割り当てを I<nodemask> に指定されたノードの間"
2159 "でノード ID の数字順で交互に行う。 このポリシーでは、複数のノードにページを広"
2160 "げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、"
2161 "帯域を最適化する。 ただし、一つのページへのアクセスに関しては依然として一つの"
2165 #: build/C/man2/set_mempolicy.2:213
2167 "B<MPOL_PREFERRED> sets the preferred node for allocation. The kernel will "
2168 "try to allocate pages from this node first and fall back to \"near by\" "
2169 "nodes if the preferred node is low on free memory. If I<nodemask> specifies "
2170 "more than one node ID, the first node in the mask will be selected as the "
2171 "preferred node. If the I<nodemask> and I<maxnode> arguments specify the "
2172 "empty set, then the policy specifies \"local allocation\" (like the system "
2173 "default policy discussed above)."
2175 "B<MPOL_PREFERRED> は、割り当て時に優先されるノード (preferred node) を設定す"
2176 "る。 カーネルはまず優先ノードからページ割り当てを行おうとし、 優先ノードに空"
2177 "きメモリが少ない場合に「近くの (near by)」ノードから 割り当てを行う。 "
2178 "I<nodemask> に複数のノード ID が指定された場合は、 I<nodemask> 内の最初のノー"
2179 "ドが優先ノードとして選択される。 引き数 I<nodemask>, I<maxnode> で空集合が指"
2180 "定された場合は、ポリシーは (上述のシステムの デフォルトポリシーと同様に) "
2184 #: build/C/man2/set_mempolicy.2:220
2186 "The process memory policy is preserved across an B<execve>(2), and is "
2187 "inherited by child processes created using B<fork>(2) or B<clone>(2)."
2189 "プロセスのメモリポリシーは B<execve>(2) の前後で保持され、 B<fork>(2) や "
2190 "B<clone>(2) を使って作成された子プロセスに継承される。"
2193 #: build/C/man2/set_mempolicy.2:227
2195 "On success, B<set_mempolicy>() returns 0; on error, -1 is returned and "
2196 "I<errno> is set to indicate the error."
2198 "成功すると、 B<set_mempolicy>() は 0 を返す。エラーの場合、-1 を返し、 "
2199 "I<errno> にエラーを示す値を設定する。"
2202 #: build/C/man2/set_mempolicy.2:272
2204 "I<mode> is invalid. Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> is "
2205 "nonempty, or I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> "
2206 "is empty. Or, I<maxnode> specifies more than a page worth of bits. Or, "
2207 "I<nodemask> specifies one or more node IDs that are greater than the maximum "
2208 "supported node ID. Or, none of the node IDs specified by I<nodemask> are on-"
2209 "line and allowed by the process's current cpuset context, or none of the "
2210 "specified nodes contain memory. Or, the I<mode> argument specified both "
2211 "B<MPOL_F_STATIC_NODES> and B<MPOL_F_RELATIVE_NODES>."
2213 "I<mode> が不正である。 I<mode> が B<MPOL_DEFAULT> で、 I<nodemask> が空ではな"
2214 "い。 I<mode> が B<MPOL_BIND> か B<MPOL_INTERLEAVE> で、 I<nodemask> が空であ"
2215 "る。 I<maxnode> で実際に意味があるビット数より多くのビット数が指定された。 "
2216 "I<nodemask> に、サポートされている最大ノード ID より大きいノードが指定され"
2217 "た。 I<nodemask> に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキ"
2218 "ストで 許可されているノードが一つも含まれていないか、 メモリを含むノードが一"
2219 "つも指定されていない。 I<mode> 引き数に B<MPOL_F_STATIC_NODES> と "
2220 "B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
2223 #: build/C/man2/set_mempolicy.2:279
2225 "The B<set_mempolicy>(), system call was added to the Linux kernel in version "
2228 "B<set_mempolicy>() システムコールはバージョン 2.6.7 で Linux カーネルに追加"
2232 #: build/C/man2/set_mempolicy.2:286
2234 "Process policy is not remembered if the page is swapped out. When such a "
2235 "page is paged back in, it will use the policy of the process or memory range "
2236 "that is in effect at the time the page is allocated."
2238 "ページがスワップ・アウトされる場合には、 プロセスポリシーの設定は推奨されな"
2239 "い。 スワップ・アウトされたページがページ・インする際にも、 ページ割り当て時"
2240 "に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。"
2243 #: build/C/man2/set_mempolicy.2:298
2245 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2246 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2248 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2249 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2251 #~ msgid "2012-07-13"
2252 #~ msgstr "2012-07-13"
2254 #~ msgid "2010-11-01"
2255 #~ msgstr "2010-11-01"
2258 #~ "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
2259 #~ "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), "
2260 #~ "B<numa_stat>(8);"
2262 #~ "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
2263 #~ "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), "
2264 #~ "B<numa_stat>(8);"
2266 #~ msgid "the kernel source file I<Documentation/vm/page_migration>."
2267 #~ msgstr "カーネルのソースファイル I<Documentation/vm/page_migration>。"
2269 #~ msgid "2008-06-03"
2270 #~ msgstr "2008-06-03"