OSDN Git Service

6c1d2f8ae1b59629f15620a9ba4824e8c3b1c037
[linuxjm/LDP_man-pages.git] / po4a / numa / po / ja.po
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.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2014-04-13 10:27+0900\n"
10 "PO-Revision-Date: 2013-10-02 00:27+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man2/get_mempolicy.2:27
20 #, no-wrap
21 msgid "GET_MEMPOLICY"
22 msgstr "GET_MEMPOLICY"
23
24 #. type: TH
25 #: build/C/man2/get_mempolicy.2:27 build/C/man2/mbind.2:45
26 #: build/C/man2/set_mempolicy.2:27
27 #, no-wrap
28 msgid "2008-08-15"
29 msgstr "2008-08-15"
30
31 #. type: TH
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
36 #, no-wrap
37 msgid "Linux"
38 msgstr "Linux"
39
40 #. type: TH
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
45 #, no-wrap
46 msgid "Linux Programmer's Manual"
47 msgstr "Linux Programmer's Manual"
48
49 #. type: SH
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
54 #, no-wrap
55 msgid "NAME"
56 msgstr "名前"
57
58 #. type: Plain text
59 #: build/C/man2/get_mempolicy.2:30
60 msgid "get_mempolicy - retrieve NUMA memory policy for a process"
61 msgstr "get_mempolicy - プロセスの NUMA メモリのポリシーを取得する"
62
63 #. type: SH
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
67 #, no-wrap
68 msgid "SYNOPSIS"
69 msgstr "書式"
70
71 #. type: Plain text
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>>"
75
76 #. type: Plain text
77 #: build/C/man2/get_mempolicy.2:37
78 #, no-wrap
79 msgid ""
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"
83 msgstr ""
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"
87
88 #. type: Plain text
89 #: build/C/man2/get_mempolicy.2:39 build/C/man2/mbind.2:57
90 #: build/C/man2/set_mempolicy.2:38
91 #, no-wrap
92 msgid "Link with I<-lnuma>.\n"
93 msgstr "I<-lnuma> でリンクする。\n"
94
95 #. type: SH
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
100 #, no-wrap
101 msgid "DESCRIPTION"
102 msgstr "説明"
103
104 #. type: Plain text
105 #: build/C/man2/get_mempolicy.2:45
106 msgid ""
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>."
109 msgstr ""
110 "B<get_mempolicy>()  は、呼び出し元プロセスもしくは指定されたメモリアドレスの "
111 "NUMA ポリシーを I<flags> の設定に従って取得する。"
112
113 #. type: Plain text
114 #: build/C/man2/get_mempolicy.2:50 build/C/man2/set_mempolicy.2:54
115 msgid ""
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."
119 msgstr ""
120 "NUMA (非対称メモリアクセス) マシンでは、CPU により メモリコントローラが異な"
121 "り、距離も異なっている。 メモリポリシーは、どのノードからメモリをそのプロセス"
122 "に 割り当てるかを定めるものである。"
123
124 #. type: Plain text
125 #: build/C/man2/get_mempolicy.2:67
126 msgid ""
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)."
132 msgstr ""
133 "I<flags> に 0 が指定された場合、 (B<set_mempolicy>(2)  で設定された)  呼び出"
134 "し元プロセスのデフォルトポリシーに関する情報を返す。 返されたポリシー "
135 "[I<mode> と I<nodemask>] を B<set_mempolicy>(2)  に渡すことで、そのプロセスの"
136 "ポリシーを B<get_mempolicy>()  を呼び出した時点の状態に戻すことができる。"
137
138 #. type: Plain text
139 #: build/C/man2/get_mempolicy.2:89
140 msgid ""
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>."
147 msgstr ""
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> と同時に指定することはできない。"
153
154 #. type: Plain text
155 #: build/C/man2/get_mempolicy.2:103
156 msgid ""
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>."
162 msgstr ""
163 "I<flags> に B<MPOL_F_ADDR> が指定された場合、 I<addr> で指定されたメモリアド"
164 "レスに適用されているポリシーに関する情報を返す。 B<mbind>(2)  や B<numa>(3)  "
165 "で説明されているヘルパー関数を使って、 I<addr> を含むメモリ領域に対するポリ"
166 "シーが設定されていた場合には、 返されるポリシーはプロセスのデフォルトポリシー"
167 "と違うことがある。"
168
169 #. type: Plain text
170 #: build/C/man2/get_mempolicy.2:124
171 msgid ""
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)>."
180 msgstr ""
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)> の倍数に切り上げられる。"
187
188 #. type: Plain text
189 #: build/C/man2/get_mempolicy.2:141
190 msgid ""
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."
197 msgstr ""
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 を返す。"
204
205 #.  Note:  code returns next interleave node via 'mode' argument -Lee Schermerhorn
206 #. type: Plain text
207 #: build/C/man2/get_mempolicy.2:166
208 #, fuzzy
209 #| msgid ""
210 #| "If I<flags> specifies B<MPOL_F_NODE>, but not B<MPOL_F_ADDR>, and the "
211 #| "process's current policy is B<MPOL_INTERLEAVE>, then B<get_mempolicy>()  "
212 #| "will return in the location pointed to by a non-NULL I<mode> argument, "
213 #| "the node ID of the next node that will be used for interleaving of "
214 #| "internal kernel pages allocated on behalf of the process.  These "
215 #| "allocations include pages for memory mapped files in process memory "
216 #| "ranges mapped using the B<mmap>(2)  call with the B<MAP_PRIVATE> flag for "
217 #| "read accesses, and in memory ranges mapped with the B<MAP_SHARED> flag "
218 #| "for all accesses."
219 msgid ""
220 "If I<flags> specifies B<MPOL_F_NODE>, but not B<MPOL_F_ADDR>, and the "
221 "process's current policy is B<MPOL_INTERLEAVE>, then B<get_mempolicy>()  "
222 "will return in the location pointed to by a non-NULL I<mode> argument, the "
223 "node ID of the next node that will be used for interleaving of internal "
224 "kernel pages allocated on behalf of the process.  These allocations include "
225 "pages for memory-mapped files in process memory ranges mapped using the "
226 "B<mmap>(2)  call with the B<MAP_PRIVATE> flag for read accesses, and in "
227 "memory ranges mapped with the B<MAP_SHARED> flag for all accesses."
228 msgstr ""
229 "I<flags> で B<MPOL_F_NODE> は指定されたが、 B<MPOL_F_ADDR> は指定されていない"
230 "場合で、かつ そのプロセスの現在のポリシーが B<MPOL_INTERLEAVE> の場合、 "
231 "B<get_mempolicy>()  は、そのプロセスに対して割り当てられたカーネルの内部ペー"
232 "ジで 次にインターリーブ用に使用されるノードのノード ID を、 NULL でない "
233 "I<mode> 引き数が指す場所に入れて返す。 読み込みアクセス用として "
234 "B<MAP_PRIVATE> フラグ付きで B<mmap>(2)  したプロセスメモリ領域や、 任意のアク"
235 "セス用として B<MAP_SHARED> フラグ付きで B<mmap>(2)  したメモリ領域の、メモリ"
236 "マップされたファイルに対するページも 上記のプロセスに対して割り当てられたペー"
237 "ジに含まれる。"
238
239 #. type: Plain text
240 #: build/C/man2/get_mempolicy.2:168
241 msgid "Other flag values are reserved."
242 msgstr "他のフラグは予約されている。"
243
244 #. type: Plain text
245 #: build/C/man2/get_mempolicy.2:171
246 msgid "For an overview of the possible policies see B<set_mempolicy>(2)."
247 msgstr "設定可能なポリシーの概要については B<set_mempolicy>(2)  を参照。"
248
249 #. type: SH
250 #: build/C/man2/get_mempolicy.2:171 build/C/man2/getcpu.2:61
251 #: build/C/man2/mbind.2:309 build/C/man2/migrate_pages.2:88
252 #: build/C/man2/move_pages.2:141 build/C/man2/set_mempolicy.2:220
253 #, no-wrap
254 msgid "RETURN VALUE"
255 msgstr "返り値"
256
257 #. type: Plain text
258 #: build/C/man2/get_mempolicy.2:178
259 msgid ""
260 "On success, B<get_mempolicy>()  returns 0; on error, -1 is returned and "
261 "I<errno> is set to indicate the error."
262 msgstr ""
263 "成功すると、 B<get_mempolicy>()  は 0 を返す。エラーの場合、-1 を返し、 "
264 "I<errno> にエラーを示す値を設定する。"
265
266 #. type: SH
267 #: build/C/man2/get_mempolicy.2:178 build/C/man2/getcpu.2:66
268 #: build/C/man2/mbind.2:317 build/C/man2/migrate_pages.2:96
269 #: build/C/man2/move_pages.2:150 build/C/man2/set_mempolicy.2:227
270 #, no-wrap
271 msgid "ERRORS"
272 msgstr "エラー"
273
274 #. type: TP
275 #: build/C/man2/get_mempolicy.2:179 build/C/man2/getcpu.2:67
276 #: build/C/man2/mbind.2:319 build/C/man2/move_pages.2:159
277 #: build/C/man2/set_mempolicy.2:228
278 #, no-wrap
279 msgid "B<EFAULT>"
280 msgstr "B<EFAULT>"
281
282 #. type: Plain text
283 #: build/C/man2/get_mempolicy.2:186 build/C/man2/set_mempolicy.2:235
284 msgid ""
285 "Part of all of the memory range specified by I<nodemask> and I<maxnode> "
286 "points outside your accessible address space."
287 msgstr ""
288 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
289 "元がアクセス可能なアドレス空間外を指している。"
290
291 #. type: TP
292 #: build/C/man2/get_mempolicy.2:186 build/C/man2/mbind.2:327
293 #: build/C/man2/move_pages.2:162 build/C/man2/set_mempolicy.2:235
294 #, no-wrap
295 msgid "B<EINVAL>"
296 msgstr "B<EINVAL>"
297
298 #. type: Plain text
299 #: build/C/man2/get_mempolicy.2:230
300 msgid ""
301 "The value specified by I<maxnode> is less than the number of node IDs "
302 "supported by the system.  Or I<flags> specified values other than "
303 "B<MPOL_F_NODE> or B<MPOL_F_ADDR>; or I<flags> specified B<MPOL_F_ADDR> and "
304 "I<addr> is NULL, or I<flags> did not specify B<MPOL_F_ADDR> and I<addr> is "
305 "not NULL.  Or, I<flags> specified B<MPOL_F_NODE> but not B<MPOL_F_ADDR> and "
306 "the current process policy is not B<MPOL_INTERLEAVE>.  Or, I<flags> "
307 "specified B<MPOL_F_MEMS_ALLOWED> with either B<MPOL_F_ADDR> or "
308 "B<MPOL_F_NODE>.  (And there are other B<EINVAL> cases.)"
309 msgstr ""
310 "I<maxnode> で指定された値がシステムがサポートするノード ID の数よりも少な"
311 "い。 または、 I<flags> に B<MPOL_F_NODE> でも B<MPOL_F_ADDR> でもない値が指定"
312 "された。 または、 I<flags> に B<MPOL_F_ADDR> が指定されており、 I<addr> が "
313 "NULL である。 または、 I<flags> に B<MPOL_F_ADDR> がされておらず、 I<addr> "
314 "が NULL でない。 または、 I<flags> に B<MPOL_F_NODE> が指定されており、 "
315 "B<MPOL_F_ADDR> が指定されておらず、 プロセスの現在のポリシーが "
316 "B<MPOL_INTERLEAVE> でない。 または、 I<flags> に B<MPOL_F_MEMS_ALLOWED> が指"
317 "定されており、さらに B<MPOL_F_ADDR> か B<MPOL_F_NODE> のいずれかが指定されて"
318 "いる。 (他にも B<EINVAL> となる場合がある。)"
319
320 #. type: SH
321 #: build/C/man2/get_mempolicy.2:230 build/C/man2/getcpu.2:70
322 #: build/C/man2/mbind.2:399 build/C/man2/migrate_pages.2:112
323 #: build/C/man2/move_pages.2:190 build/C/man2/set_mempolicy.2:275
324 #, no-wrap
325 msgid "VERSIONS"
326 msgstr "バージョン"
327
328 #. type: Plain text
329 #: build/C/man2/get_mempolicy.2:234
330 msgid ""
331 "The B<get_mempolicy>()  system call was added to the Linux kernel in version "
332 "2.6.7."
333 msgstr ""
334 "B<get_mempolicy>()  システムコールはバージョン 2.6.7 で Linux カーネルに追加"
335 "された。"
336
337 #. type: SH
338 #: build/C/man2/get_mempolicy.2:234 build/C/man2/getcpu.2:73
339 #: build/C/man2/mbind.2:403 build/C/man2/migrate_pages.2:116
340 #: build/C/man2/move_pages.2:193 build/C/man7/numa.7:148
341 #: build/C/man2/set_mempolicy.2:279
342 #, no-wrap
343 msgid "CONFORMING TO"
344 msgstr "準拠"
345
346 #. type: Plain text
347 #: build/C/man2/get_mempolicy.2:236 build/C/man2/mbind.2:405
348 #: build/C/man2/migrate_pages.2:118 build/C/man2/move_pages.2:195
349 #: build/C/man2/set_mempolicy.2:281
350 msgid "This system call is Linux-specific."
351 msgstr "このシステムコールは Linux 固有である。"
352
353 #. type: SH
354 #: build/C/man2/get_mempolicy.2:236 build/C/man2/getcpu.2:76
355 #: build/C/man2/mbind.2:405 build/C/man2/migrate_pages.2:118
356 #: build/C/man2/move_pages.2:195 build/C/man7/numa.7:150
357 #: build/C/man2/set_mempolicy.2:281
358 #, no-wrap
359 msgid "NOTES"
360 msgstr "注意"
361
362 #. type: Plain text
363 #: build/C/man2/get_mempolicy.2:239 build/C/man2/mbind.2:408
364 #: build/C/man2/migrate_pages.2:121 build/C/man2/move_pages.2:198
365 #: build/C/man2/set_mempolicy.2:289
366 msgid "For information on library support, see B<numa>(7)."
367 msgstr "ライブラリによるサポートについては B<numa>(7)  を参照。"
368
369 #. type: SH
370 #: build/C/man2/get_mempolicy.2:239 build/C/man2/getcpu.2:139
371 #: build/C/man2/mbind.2:457 build/C/man2/migrate_pages.2:148
372 #: build/C/man2/move_pages.2:225 build/C/man7/numa.7:183
373 #: build/C/man2/set_mempolicy.2:289
374 #, no-wrap
375 msgid "SEE ALSO"
376 msgstr "関連項目"
377
378 #. type: Plain text
379 #: build/C/man2/get_mempolicy.2:247
380 msgid ""
381 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
382 "B<numa>(7), B<numactl>(8)"
383 msgstr ""
384 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
385 "B<numa>(7), B<numactl>(8)"
386
387 #. type: SH
388 #: build/C/man2/get_mempolicy.2:247 build/C/man2/getcpu.2:145
389 #: build/C/man2/mbind.2:468 build/C/man2/migrate_pages.2:161
390 #: build/C/man2/move_pages.2:235 build/C/man7/numa.7:191
391 #: build/C/man2/set_mempolicy.2:298
392 #, no-wrap
393 msgid "COLOPHON"
394 msgstr "この文書について"
395
396 #. type: Plain text
397 #: build/C/man2/get_mempolicy.2:254 build/C/man2/getcpu.2:152
398 #: build/C/man2/mbind.2:475 build/C/man2/migrate_pages.2:168
399 #: build/C/man2/move_pages.2:242 build/C/man7/numa.7:198
400 #: build/C/man2/set_mempolicy.2:305
401 #, fuzzy
402 #| msgid ""
403 #| "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
404 #| "description of the project, and information about reporting bugs, can be "
405 #| "found at \\%http://www.kernel.org/doc/man-pages/."
406 msgid ""
407 "This page is part of release 3.63 of the Linux I<man-pages> project.  A "
408 "description of the project, and information about reporting bugs, can be "
409 "found at \\%http://www.kernel.org/doc/man-pages/."
410 msgstr ""
411 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.54 の一部\n"
412 "である。プロジェクトの説明とバグ報告に関する情報は\n"
413 "http://www.kernel.org/doc/man-pages/ に書かれている。"
414
415 #. type: TH
416 #: build/C/man2/getcpu.2:12
417 #, no-wrap
418 msgid "GETCPU"
419 msgstr "GETCPU"
420
421 #. type: TH
422 #: build/C/man2/getcpu.2:12
423 #, no-wrap
424 msgid "2013-04-03"
425 msgstr "2013-04-03"
426
427 #. type: Plain text
428 #: build/C/man2/getcpu.2:15
429 msgid ""
430 "getcpu - determine CPU and NUMA node on which the calling thread is running"
431 msgstr "getcpu - 呼び出し元スレッドが動作している CPU と NUMA ノードを判定する"
432
433 #. type: Plain text
434 #: build/C/man2/getcpu.2:18
435 #, no-wrap
436 msgid "B<#include E<lt>linux/getcpu.hE<gt>>\n"
437 msgstr "B<#include E<lt>linux/getcpu.hE<gt>>\n"
438
439 #. type: Plain text
440 #: build/C/man2/getcpu.2:21
441 #, no-wrap
442 msgid "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
443 msgstr "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache *>I<tcache>B<);>\n"
444
445 #. type: Plain text
446 #: build/C/man2/getcpu.2:25
447 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
448 msgstr ""
449 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
450 "を参照。"
451
452 #. type: Plain text
453 #: build/C/man2/getcpu.2:42
454 msgid ""
455 "The B<getcpu>()  system call identifies the processor and node on which the "
456 "calling thread or process is currently running and writes them into the "
457 "integers pointed to by the I<cpu> and I<node> arguments.  The processor is a "
458 "unique small integer identifying a CPU.  The node is a unique small "
459 "identifier identifying a NUMA node.  When either I<cpu> or I<node> is NULL "
460 "nothing is written to the respective pointer."
461 msgstr ""
462 "B<getcpu>() システムコールは、呼び出し元のスレッドやプロセスが\n"
463 "現在動作しているプロセッサやノードの情報を特定し、\n"
464 "それぞれ引き数 I<cpu> と I<node> が指す整数に書き込む。\n"
465 "プロセッサ情報は CPU を識別するための一意な小さな整数である。\n"
466 "ノード情報は NUMAノードを識別するための一意な小さな整数である。\n"
467 "I<cpu> か I<node> のいずれかが NULL であれば、\n"
468 "その引き数に対応する情報の書き込みは行われない。"
469
470 #. type: Plain text
471 #: build/C/man2/getcpu.2:46
472 msgid ""
473 "The third argument to this system call is nowadays unused, and should be "
474 "specified as NULL unless portability to Linux 2.6.23 or earlier is required "
475 "(see NOTES)."
476 msgstr ""
477 "このシステムコールの 3 番目の引き数は現在は使われておらず、 Linux 2.6.23 以前"
478 "への移植性が必要な場合以外は NULL を渡すべきである (「注意」を参照)。"
479
480 #. type: Plain text
481 #: build/C/man2/getcpu.2:61
482 msgid ""
483 "The information placed in I<cpu> is guaranteed to be current only at the "
484 "time of the call: unless the CPU affinity has been fixed using "
485 "B<sched_setaffinity>(2), the kernel might change the CPU at any time.  "
486 "(Normally this does not happen because the scheduler tries to minimize "
487 "movements between CPUs to keep caches hot, but it is possible.)  The caller "
488 "must allow for the possibility that the information returned in I<cpu> and "
489 "I<node> is no longer current by the time the call returns."
490 msgstr ""
491 "I<cpu> に格納された情報が最新だと保証できるのは、システムコールが呼ばれ\n"
492 "た時点だけである。B<sched_setaffinity>(2) を使って CPU affinity が固定\n"
493 "されていない限り、カーネルはいつでも CPU を変更してもよい (スケジューラ\n"
494 "はキャッシュが有効に働くように CPU の移動を最小限にしようとするので、\n"
495 "通常は CPU が変更されることはないが、起きる可能性はある)。\n"
496 "I<cpu> や I<node> で返された情報が呼び出しが返った時点ですでに\n"
497 "最新の状況と異なる可能性があり、呼び出し元はこの可能性を考慮して\n"
498 "おかなければならない。"
499
500 #. type: Plain text
501 #: build/C/man2/getcpu.2:66
502 msgid ""
503 "On success, 0 is returned.  On error, -1 is returned, and I<errno> is set "
504 "appropriately."
505 msgstr ""
506 "成功すると、0 を返す。\n"
507 "エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
508
509 #. type: Plain text
510 #: build/C/man2/getcpu.2:70
511 msgid "Arguments point outside the calling process's address space."
512 msgstr "引き数が呼び出したプロセスのアドレス空間外を指している。"
513
514 #. type: Plain text
515 #: build/C/man2/getcpu.2:73
516 msgid "B<getcpu>()  was added in kernel 2.6.19 for x86_64 and i386."
517 msgstr "B<getcpu>() はカーネル 2.6.19 で x86_64 と i386 向けに追加された."
518
519 #. type: Plain text
520 #: build/C/man2/getcpu.2:76
521 #, fuzzy
522 #| msgid "B<getcpu>()  is Linux specific."
523 msgid "B<getcpu>()  is Linux-specific."
524 msgstr "B<getcpu>() は Linux 固有である。"
525
526 #. type: Plain text
527 #: build/C/man2/getcpu.2:82
528 msgid ""
529 "Linux makes a best effort to make this call as fast possible.  The intention "
530 "of B<getcpu>()  is to allow programs to make optimizations with per-CPU data "
531 "or for NUMA optimization."
532 msgstr ""
533 "Linux はこのシステムコールを可能な限り早く実行しようとする。\n"
534 "B<getcpu>() は、CPU 毎のデータに対する最適化や NUMA 環境での最適化を\n"
535 "プログラムが行えるようにすることを目的として実装されているからである。"
536
537 #. type: Plain text
538 #: build/C/man2/getcpu.2:88
539 msgid ""
540 "Glibc does not provide a wrapper for this system call; call it using "
541 "B<syscall>(2); or use B<sched_getcpu>(3)  instead."
542 msgstr ""
543 "glibc はこのシステムコールに対するラッパー関数を提供していない。\n"
544 "B<syscall>(2) を使って呼び出すか、\n"
545 "代わりに B<sched_getcpu>(3) を使用すること。"
546
547 #.  commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
548 #.  Author: Ingo Molnar <mingo@elte.hu>
549 #.  Date:   Wed Nov 7 18:37:48 2007 +0100
550 #.  x86: ignore the sys_getcpu() tcache parameter
551 #.  ===== Before kernel 2.6.24: =====
552 #.  .I tcache
553 #.  is a pointer to a
554 #.  .IR "struct getcpu_cache"
555 #.  that is used as a cache by
556 #.  .BR getcpu ().
557 #.  The caller should put the cache into a thread-local variable
558 #.  if the process is multithreaded,
559 #.  because the cache cannot be shared between different threads.
560 #.  .I tcache
561 #.  can be NULL.
562 #.  If it is not NULL
563 #.  .BR getcpu ()
564 #.  will use it to speed up operation.
565 #.  The information inside the cache is private to the system call
566 #.  and should not be accessed by the user program.
567 #.  The information placed in the cache can change between kernel releases.
568 #.  When no cache is specified
569 #.  .BR getcpu ()
570 #.  will be slower,
571 #.  but always retrieve the current CPU and node information.
572 #.  With a cache
573 #.  .BR getcpu ()
574 #.  is faster.
575 #.  However, the cached information is updated only once per jiffy (see
576 #.  .BR time (7)).
577 #.  This means that the information could theoretically be out of date,
578 #.  although in practice the scheduler's attempt to maintain
579 #.  soft CPU affinity means that the information is unlikely to change
580 #.  over the course of the caching interval.
581 #. type: Plain text
582 #: build/C/man2/getcpu.2:139
583 msgid ""
584 "The I<tcache> argument is unused since Linux 2.6.24.  In earlier kernels, if "
585 "this argument was non-NULL, then it specified a pointer to a caller-"
586 "allocated buffer in thread-local storage that was used to provide a caching "
587 "mechanism for B<getcpu>().  Use of the cache could speed B<getcpu>()  calls, "
588 "at the cost that there was a very small chance that the returned information "
589 "would be out of date.  The caching mechanism was considered to cause "
590 "problems when migrating threads between CPUs, and so the argument is now "
591 "ignored."
592 msgstr ""
593 "I<tcache> 引き数は Linux 2.6.24 以降では使用されない。以前のバージョン\n"
594 "のカーネルでは、この引き数が NULL 以外の場合、この引き数には、呼び出し\n"
595 "元が割り当てたスレッド専用の記憶領域 (thread-local storage) 内のバッファ\n"
596 "を指すポインタが指定され、このバッファは B<getcpu>() 用のキャッシュ機構\n"
597 "を提供するために利用されていた。非常に低い確率だが古い情報を返してしま\n"
598 "うデメリットはあるものの、このキャッシュを使うことで B<getcpu>() システ\n"
599 "ムコールを高速化できた。このキャッシュ機構はCPU 間でのスレッドの移動時\n"
600 "に問題になると考えられ、この引き数は今では無視されるようになっている。"
601
602 #. type: Plain text
603 #: build/C/man2/getcpu.2:145
604 msgid ""
605 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
606 "(3), B<cpuset>(7)"
607 msgstr ""
608 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), B<sched_getcpu>"
609 "(3), B<cpuset>(7)"
610
611 #. type: TH
612 #: build/C/man2/mbind.2:45
613 #, no-wrap
614 msgid "MBIND"
615 msgstr "MBIND"
616
617 #. type: Plain text
618 #: build/C/man2/mbind.2:48
619 msgid "mbind - set memory policy for a memory range"
620 msgstr "mbind - メモリ領域に対してメモリポリシーを設定する"
621
622 #. type: Plain text
623 #: build/C/man2/mbind.2:51 build/C/man2/migrate_pages.2:24
624 #: build/C/man2/move_pages.2:24 build/C/man2/set_mempolicy.2:33
625 #, no-wrap
626 msgid "B<#include E<lt>numaif.hE<gt>>\n"
627 msgstr "B<#include E<lt>numaif.hE<gt>>\n"
628
629 #. type: Plain text
630 #: build/C/man2/mbind.2:55
631 #, no-wrap
632 msgid ""
633 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
634 "B<          unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
635 "B<          unsigned >I<flags>B<);>\n"
636 msgstr ""
637 "B<int mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
638 "B<          unsigned long *>I<nodemask>B<, unsigned long >I<maxnode>B<,>\n"
639 "B<          unsigned >I<flags>B<);>\n"
640
641 #. type: Plain text
642 #: build/C/man2/mbind.2:68
643 msgid ""
644 "B<mbind>()  sets the NUMA memory policy, which consists of a policy mode and "
645 "zero or more nodes, for the memory range starting with I<addr> and "
646 "continuing for I<len> bytes.  The memory policy defines from which node "
647 "memory is allocated."
648 msgstr ""
649 "B<mbind>()  は、 I<addr> から始まる長さ I<len> バイトの範囲のメモリに NUMA メ"
650 "モリポリシーを設定する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから"
651 "構成される。 メモリポリシーはどのノードからメモリを割り当てるかを決定する。"
652
653 #. type: Plain text
654 #: build/C/man2/mbind.2:90
655 #, fuzzy
656 #| msgid ""
657 #| "If the memory range specified by the I<addr> and I<len> arguments "
658 #| "includes an \"anonymous\" region of memory\\(emthat is a region of memory "
659 #| "created using the B<mmap>(2)  system call with the B<MAP_ANONYMOUS>"
660 #| "\\(emor a memory mapped file, mapped using the B<mmap>(2)  system call "
661 #| "with the B<MAP_PRIVATE> flag, pages will be allocated only according to "
662 #| "the specified policy when the application writes [stores] to the page.  "
663 #| "For anonymous regions, an initial read access will use a shared page in "
664 #| "the kernel containing all zeros.  For a file mapped with B<MAP_PRIVATE>, "
665 #| "an initial read access will allocate pages according to the process "
666 #| "policy of the process that causes the page to be allocated.  This may not "
667 #| "be the process that called B<mbind>()."
668 msgid ""
669 "If the memory range specified by the I<addr> and I<len> arguments includes "
670 "an \"anonymous\" region of memory\\(emthat is a region of memory created "
671 "using the B<mmap>(2)  system call with the B<MAP_ANONYMOUS>\\(emor a memory-"
672 "mapped file, mapped using the B<mmap>(2)  system call with the "
673 "B<MAP_PRIVATE> flag, pages will be allocated only according to the specified "
674 "policy when the application writes [stores] to the page.  For anonymous "
675 "regions, an initial read access will use a shared page in the kernel "
676 "containing all zeros.  For a file mapped with B<MAP_PRIVATE>, an initial "
677 "read access will allocate pages according to the process policy of the "
678 "process that causes the page to be allocated.  This may not be the process "
679 "that called B<mbind>()."
680 msgstr ""
681 "I<addr> と I<len> で指定されたメモリ範囲に、 メモリの「無名」領域 \\(em "
682 "B<MAP_ANONYMOUS> 付きの B<mmap>(2)  システムコールを使って作成されたメモリ領"
683 "域 \\(em や B<MAP_PRIVATE> 付きの B<mmap>(2)  を使ってマップされたメモリマッ"
684 "プ・ファイルが含まれている場合、アプリケーションがそのページへの書き込み "
685 "(データの格納) を行った時には指定されたポリシーのみに基づいてページが割り当て"
686 "られる。無名領域の場合、最初の読み出しアクセスの際には カーネル内の全データ"
687 "が 0 である共有ページが使用される。 B<MAP_PRIVATE> でマップされたファイルの場"
688 "合、最初の読み出しアクセスがあると、 ページ割り当てが発生するきっかけとなった"
689 "プロセスのデフォルトポリシー にしたがってページの割り当てが行われる。 ページ"
690 "割り当てのきっかけとなったプロセスは、 B<mbind>()  を呼び出したプロセスと同じ"
691 "とは限らない。"
692
693 #. type: Plain text
694 #: build/C/man2/mbind.2:98
695 msgid ""
696 "The specified policy will be ignored for any B<MAP_SHARED> mappings in the "
697 "specified memory range.  Rather the pages will be allocated according to the "
698 "process policy of the process that caused the page to be allocated.  Again, "
699 "this may not be the process that called B<mbind>()."
700 msgstr ""
701 "指定されたメモリ範囲内にある B<MAP_SHARED> のマッピングでは指定されたポリシー"
702 "は無視され、 ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリ"
703 "シーに したがってページの割り当てが行われることになる。 繰り返しになるが、"
704 "ページ割り当てのきっかけとなったプロセスは、 B<mbind>()  を呼び出したプロセス"
705 "と同じとは限らない。"
706
707 #. type: Plain text
708 #: build/C/man2/mbind.2:115
709 msgid ""
710 "If the specified memory range includes a shared memory region created using "
711 "the B<shmget>(2)  system call and attached using the B<shmat>(2)  system "
712 "call, pages allocated for the anonymous or shared memory region will be "
713 "allocated according to the policy specified, regardless which process "
714 "attached to the shared memory segment causes the allocation.  If, however, "
715 "the shared memory region was created with the B<SHM_HUGETLB> flag, the huge "
716 "pages will be allocated according to the policy specified only if the page "
717 "allocation is caused by the process that calls B<mbind>()  for that region."
718 msgstr ""
719 "指定されたメモリ範囲に、 B<shmget>(2)  システムコールを使って作成されたり、 "
720 "B<shmat>(2)  システムコールを使って付加 (attach) されたりした共有メモリ領域"
721 "が 含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、 共"
722 "有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て のきっかけ"
723 "となったかに関わらず、指定されたポリシーにしたがって割り当て が行われる。 し"
724 "かしながら、共有メモリ領域が B<SHM_HUGETLB> フラグを指定して作成された場合に"
725 "は、ヒュージページ (huge page) の割り当てが 指定されたポリシーにしたがって行"
726 "われるのは、その領域に対して B<mbind>()  を呼び出したプロセスがページ割り当て"
727 "のきっかけとなった場合のみである。"
728
729 #. type: Plain text
730 #: build/C/man2/mbind.2:126
731 msgid ""
732 "By default, B<mbind>()  has an effect only for new allocations; if the pages "
733 "inside the range have been already touched before setting the policy, then "
734 "the policy has no effect.  This default behavior may be overridden by the "
735 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> flags described below."
736 msgstr ""
737 "デフォルトでは、 B<mbind>()  は新規のメモリ割り当てに対してのみ効果を持つ。 "
738 "ポリシーが設定される前にすでに使用されている範囲内のページに対しては、 ポリ"
739 "シーは影響しない。 このデフォルトの動作は、以下で説明するフラグ "
740 "B<MPOL_MF_MOVE> や B<MPOL_MF_MOVE_ALL> により上書きされる可能性がある。"
741
742 #. type: Plain text
743 #: build/C/man2/mbind.2:141
744 #, fuzzy
745 #| msgid ""
746 #| "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
747 #| "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>.  All policy modes except "
748 #| "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> "
749 #| "argument, the node or nodes to which the mode applies."
750 msgid ""
751 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
752 "B<MPOL_INTERLEAVE>, or B<MPOL_PREFERRED>.  All policy modes except "
753 "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> argument, "
754 "the node or nodes to which the mode applies."
755 msgstr ""
756 "I<mode> 引き数には、 B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
757 "B<MPOL_PREFERRED> のいずれか一つを指定しなければならない。 B<MPOL_DEFAULT> 以"
758 "外のポリシーモードの場合、呼び出し元は I<nodemask> 引き数でそのポリシーモード"
759 "を適用するノードを指定する必要がある。"
760
761 #. type: Plain text
762 #: build/C/man2/mbind.2:149
763 msgid ""
764 "The I<mode> argument may also include an optional I<mode flag >.  The "
765 "supported I<mode flags> are:"
766 msgstr ""
767 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
768 "れている I<モードフラグ> は以下の通りである。"
769
770 #. type: TP
771 #: build/C/man2/mbind.2:149
772 #, no-wrap
773 msgid "B<MPOL_F_STATIC_NODES> (since Linux-2.6.26)"
774 msgstr "B<MPOL_F_STATIC_NODES> (Linux-2.6.26 以降)"
775
776 #. type: Plain text
777 #: build/C/man2/mbind.2:159
778 msgid ""
779 "A nonempty I<nodemask> specifies physical node ids.  Linux does not remap "
780 "the I<nodemask> when the process moves to a different cpuset context, nor "
781 "when the set of nodes allowed by the process's current cpuset context "
782 "changes."
783 msgstr ""
784 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
785 "なる CPU 集合コンテキスト (cpuset context)  に移動した場合でも、そのプロセス"
786 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
787 "I<nodemask> をマッピングし直すことはない。"
788
789 #. type: TP
790 #: build/C/man2/mbind.2:159
791 #, no-wrap
792 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux-2.6.26)"
793 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux-2.6.26 以降)"
794
795 #. type: Plain text
796 #: build/C/man2/mbind.2:165 build/C/man2/set_mempolicy.2:113
797 msgid ""
798 "A nonempty I<nodemask> specifies node ids that are relative to the set of "
799 "node ids allowed by the process's current cpuset."
800 msgstr ""
801 "空でない I<nodemask> は、そのプロセスの現在の CPU 集合で許可されているノード "
802 "ID 集合 における相対的なノード ID である。"
803
804 #. type: Plain text
805 #: build/C/man2/mbind.2:193
806 msgid ""
807 "I<nodemask> points to a bit mask of nodes containing up to I<maxnode> bits.  "
808 "The bit mask size is rounded to the next multiple of I<sizeof(unsigned long)"
809 ">, but the kernel will use bits only up to I<maxnode>.  A NULL value of "
810 "I<nodemask> or a I<maxnode> value of zero specifies the empty set of nodes.  "
811 "If the value of I<maxnode> is zero, the I<nodemask> argument is ignored.  "
812 "Where a I<nodemask> is required, it must contain at least one node that is "
813 "on-line, allowed by the process's current cpuset context [unless the "
814 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory."
815 msgstr ""
816 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノードのビットマスクを"
817 "指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切り上"
818 "げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
819 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
820 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。 I<nodemask> が"
821 "必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現在の CPU 集合"
822 "コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラグが指定され"
823 "ていない場合)、メモリがあるノードが 少なくとも一つ入っていなければならない。"
824
825 #. type: Plain text
826 #: build/C/man2/mbind.2:215
827 msgid ""
828 "The B<MPOL_DEFAULT> mode requests that any nondefault policy be removed, "
829 "restoring default behavior.  When applied to a range of memory via B<mbind>"
830 "(), this means to use the process policy, which may have been set with "
831 "B<set_mempolicy>(2).  If the mode of the process policy is also "
832 "B<MPOL_DEFAULT>, the system-wide default policy will be used.  The system-"
833 "wide default policy allocates pages on the node of the CPU that triggers the "
834 "allocation.  For B<MPOL_DEFAULT>, the I<nodemask> and I<maxnode> arguments "
835 "must be specify the empty set of nodes."
836 msgstr ""
837 "モード B<MPOL_DEFAULT> はデフォルトではないプロセスのメモリポリシーを削除"
838 "し、 デフォルトの動作に戻すことを指定するものである。 B<mbind>()  経由で、あ"
839 "るメモリ領域に対して B<MPOL_DEFAULT> が適用された場合、プロセスのデフォルトポ"
840 "リシーを使用することを意味する。 プロセスのデフォルトポリシーは、 "
841 "B<set_mempolicy>(2)  で変更されているかもしれない。 プロセスのポリシーのモー"
842 "ドも B<MPOL_DEFAULT> の場合、システム全体のデフォルトポリシーが使用される。 "
843 "システム全体のデフォルトポリシーでは、割り当てのきっかけとなった CPU のノード"
844 "からページの割り当てを行う。 B<MPOL_DEFAULT> では、引き数 I<nodemask> と "
845 "I<maxnode> にノードの空集合を指定しなければならない。"
846
847 #. type: Plain text
848 #: build/C/man2/mbind.2:232
849 msgid ""
850 "The B<MPOL_BIND> mode specifies a strict policy that restricts memory "
851 "allocation to the nodes specified in I<nodemask>.  If I<nodemask> specifies "
852 "more than one node, page allocations will come from the node with the lowest "
853 "numeric node ID first, until that node contains no free memory.  Allocations "
854 "will then come from the node with the next highest node ID specified in "
855 "I<nodemask> and so forth, until none of the specified nodes contain free "
856 "memory.  Pages will not be allocated from any node not specified in the "
857 "I<nodemask>."
858 msgstr ""
859 "B<MPOL_BIND> は厳しいポリシーで、メモリ割り当ては I<nodemask> に指定された"
860 "ノードに限定される。 他のノードへの割り当ては行われない。 I<nodemask> に 2 個"
861 "以上のノードが指定された場合、ページの割り当ては ノード ID が数字として最小の"
862 "ノードから開始され、 そのノードに空きメモリがなくなるまでそのノードから ペー"
863 "ジ割り当てが行われる。そのノードに空きメモリがなくなったら、 次に小さなノー"
864 "ド ID を持つノードからページ割り当てが行われる。 これを、 I<nodemask> で指定"
865 "された全てのノードで空きメモリがなくなるまで繰り返す。 I<nodemask> で指定され"
866 "た以外のノードからはページの割り当ては行われない。"
867
868 #. type: Plain text
869 #: build/C/man2/mbind.2:245
870 msgid ""
871 "The B<MPOL_INTERLEAVE> mode specifies that page allocations be interleaved "
872 "across the set of nodes specified in I<nodemask>.  This optimizes for "
873 "bandwidth instead of latency by spreading out pages and memory accesses to "
874 "those pages across multiple nodes.  To be effective the memory area should "
875 "be fairly large, at least 1MB or bigger with a fairly uniform access "
876 "pattern.  Accesses to a single page of the area will still be limited to the "
877 "memory bandwidth of a single node."
878 msgstr ""
879 "B<MPOL_INTERLEAVE> は、メモリ割り当てが I<nodemask> に指定されたノード間で交"
880 "互に行われることを指定するものである。 このポリシーでは、複数のノードにページ"
881 "を広げて配置し、これらのページへの メモリアクセスを分散することで、遅延ではな"
882 "く、帯域を最適化する。 効果を得るには、メモリ領域をある程度大きくすべきであ"
883 "り、 メモリアクセスのパターンがかなり均一な場合でも 少なくとも 1MB 以上にすべ"
884 "きである。 このモードでも、一つのページへのアクセスに関しては 一つのノードの"
885 "メモリ帯域が上限となることは変わりない。"
886
887 #. type: Plain text
888 #: build/C/man2/mbind.2:264
889 msgid ""
890 "B<MPOL_PREFERRED> sets the preferred node for allocation.  The kernel will "
891 "try to allocate pages from this node first and fall back to other nodes if "
892 "the preferred nodes is low on free memory.  If I<nodemask> specifies more "
893 "than one node ID, the first node in the mask will be selected as the "
894 "preferred node.  If the I<nodemask> and I<maxnode> arguments specify the "
895 "empty set, then the memory is allocated on the node of the CPU that "
896 "triggered the allocation.  This is the only way to specify \"local allocation"
897 "\" for a range of memory via B<mbind>()."
898 msgstr ""
899 "B<MPOL_PREFERRED> は、割り当て時に優先されるノードを設定する。 カーネルはまず"
900 "優先ノードにページ割り当てを行おうとし、 優先ノードに空きメモリが少ない場合に"
901 "他のノードに割り当てを行う。 I<nodemask> に複数のノード ID が指定された場合"
902 "は、 I<nodemask> 内の最初のノードが優先ノードとして選択される。 引き数 "
903 "I<nodemask>, I<maxnode> で空集合が指定された場合は、割り当てのきっかけとなっ"
904 "た CPU のノードに メモリ割り当てが行われる。 B<mbind>(2)  で、あるメモリ領域"
905 "に対して「ローカルからの割り当て (local allocation)」を 指定する方法はこれし"
906 "かない。"
907
908 #.  According to the kernel code, the following is not true
909 #.  --Lee Schermerhorn
910 #.  In 2.6.16 or later the kernel will also try to move pages
911 #.  to the requested node with this flag.
912 #. type: Plain text
913 #: build/C/man2/mbind.2:280
914 msgid ""
915 "If B<MPOL_MF_STRICT> is passed in I<flags> and I<mode> is not "
916 "B<MPOL_DEFAULT>, then the call will fail with the error B<EIO> if the "
917 "existing pages in the memory range don't follow the policy."
918 msgstr ""
919 "I<flags> に B<MPOL_MF_STRICT> が 指定され、 I<mode> が B<MPOL_DEFAULT> でない"
920 "場合、 指定されたポリシーに従っていないメモリ領域にページが存在すると、 "
921 "B<mbind>()  はエラー B<EIO> で失敗する。"
922
923 #. type: Plain text
924 #: build/C/man2/mbind.2:293
925 msgid ""
926 "If B<MPOL_MF_MOVE> is specified in I<flags>, then the kernel will attempt to "
927 "move all the existing pages in the memory range so that they follow the "
928 "policy.  Pages that are shared with other processes will not be moved.  If "
929 "B<MPOL_MF_STRICT> is also specified, then the call will fail with the error "
930 "B<EIO> if some pages could not be moved."
931 msgstr ""
932 "I<flags> に B<MPOL_MF_MOVE> が指定されると、カーネルはそのメモリ領域内の既存"
933 "の全てのページを移動し、 指定されたポリシーに従うようにしようとする。 他のプ"
934 "ロセスと共有されているページは移動されない。 B<MPOL_MF_STRICT> も指定された場"
935 "合、移動できなかったページがあると、 B<mbind>()  はエラー B<EIO> で失敗する。"
936
937 #.  ---------------------------------------------------------------
938 #. type: Plain text
939 #: build/C/man2/mbind.2:309
940 msgid ""
941 "If B<MPOL_MF_MOVE_ALL> is passed in I<flags>, then the kernel will attempt "
942 "to move all existing pages in the memory range regardless of whether other "
943 "processes use the pages.  The calling process must be privileged "
944 "(B<CAP_SYS_NICE>)  to use this flag.  If B<MPOL_MF_STRICT> is also "
945 "specified, then the call will fail with the error B<EIO> if some pages could "
946 "not be moved."
947 msgstr ""
948 "I<flags> に B<MPOL_MF_MOVE_ALL> が指定されると、カーネルはそのメモリ領域内の"
949 "既存の全てのページを、 他のプロセスがページを使用しているかどうかに関わらず移"
950 "動する。 このフラグを使用するには、呼び出し元のプロセスは特権 "
951 "(B<CAP_SYS_NICE>)  を持っていなければならない。 B<MPOL_MF_STRICT> も指定され"
952 "た場合、移動できなかったページがあると、 B<mbind>()  はエラー B<EIO> で失敗す"
953 "る。"
954
955 #.  ---------------------------------------------------------------
956 #. type: Plain text
957 #: build/C/man2/mbind.2:317
958 msgid ""
959 "On success, B<mbind>()  returns 0; on error, -1 is returned and I<errno> is "
960 "set to indicate the error."
961 msgstr ""
962 "成功すると、 B<mbind>()  は 0 を返す。エラーの場合、-1 を返し、 I<errno> にエ"
963 "ラーを示す値を設定する。"
964
965 #. type: Plain text
966 #: build/C/man2/mbind.2:327
967 msgid ""
968 "Part or all of the memory range specified by I<nodemask> and I<maxnode> "
969 "points outside your accessible address space.  Or, there was an unmapped "
970 "hole in the specified memory range."
971 msgstr ""
972 "I<nodemask> と I<maxnode> で指定されたメモリ領域の一部または全部が、 呼び出し"
973 "元がアクセス可能なアドレス空間外を指している。 もしくは指定されたメモリ領域に"
974 "マップされていない部分 (unmapped hole)  があった、"
975
976 #.  As at 2.6.23, this limit is "a page worth of bits", e.g.,
977 #.  8 * 4096 bits, assuming a 4kB page size.
978 #. type: Plain text
979 #: build/C/man2/mbind.2:375
980 msgid ""
981 "An invalid value was specified for I<flags> or I<mode>; or I<addr + len> was "
982 "less than I<addr>; or I<addr> is not a multiple of the system page size.  "
983 "Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> specified a nonempty set; or "
984 "I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> is empty.  Or, "
985 "I<maxnode> exceeds a kernel-imposed limit.  Or, I<nodemask> specifies one or "
986 "more node IDs that are greater than the maximum supported node ID.  Or, none "
987 "of the node IDs specified by I<nodemask> are on-line and allowed by the "
988 "process's current cpuset context, or none of the specified nodes contain "
989 "memory.  Or, the I<mode> argument specified both B<MPOL_F_STATIC_NODES> and "
990 "B<MPOL_F_RELATIVE_NODES>."
991 msgstr ""
992 "I<flags> や I<mode> に不正な値が指定された。 I<addr + len> が I<addr> より小"
993 "さい。 I<addr> がシステムのページサイズの倍数になっていない。 または I<mode> "
994 "が B<MPOL_DEFAULT> で I<nodemask> に空でない集合が指定された。 I<mode> が "
995 "B<MPOL_BIND> か B<MPOL_INTERLEAVE> で I<nodemask> が空であった。 I<maxnode> "
996 "がカーネルに適用された上限を超えている。 I<nodemask> に、サポートされている最"
997 "大ノード ID より大きいノードが指定された。 I<nodemask> に、オンラインで、かつ"
998 "そのプロセスの現在の CPU 集合コンテキストで 許可されているノードが一つも含ま"
999 "れていないか、 メモリを含むノードが一つも指定されていない。 I<mode> 引き数に "
1000 "B<MPOL_F_STATIC_NODES> と B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
1001
1002 #. type: TP
1003 #: build/C/man2/mbind.2:375
1004 #, no-wrap
1005 msgid "B<EIO>"
1006 msgstr "B<EIO>"
1007
1008 #. type: Plain text
1009 #: build/C/man2/mbind.2:386
1010 msgid ""
1011 "B<MPOL_MF_STRICT> was specified and an existing page was already on a node "
1012 "that does not follow the policy; or B<MPOL_MF_MOVE> or B<MPOL_MF_MOVE_ALL> "
1013 "was specified and the kernel was unable to move all existing pages in the "
1014 "range."
1015 msgstr ""
1016 "B<MPOL_MF_STRICT> が指定されたが、このポリシーに従っていないノードに すでに"
1017 "ページが存在していた。 もしくは B<MPOL_MF_MOVE> か B<MPOL_MF_MOVE_ALL> が指定"
1018 "されたが、カーネルが指定された領域内の既存の全てのページを 移動することができ"
1019 "なかった。"
1020
1021 #. type: TP
1022 #: build/C/man2/mbind.2:386 build/C/man2/set_mempolicy.2:272
1023 #, no-wrap
1024 msgid "B<ENOMEM>"
1025 msgstr "B<ENOMEM>"
1026
1027 #. type: Plain text
1028 #: build/C/man2/mbind.2:389 build/C/man2/set_mempolicy.2:275
1029 msgid "Insufficient kernel memory was available."
1030 msgstr "利用可能なカーネルメモリが十分でなかった。"
1031
1032 #. type: TP
1033 #: build/C/man2/mbind.2:389 build/C/man2/migrate_pages.2:97
1034 #: build/C/man2/move_pages.2:178
1035 #, no-wrap
1036 msgid "B<EPERM>"
1037 msgstr "B<EPERM>"
1038
1039 #.  ---------------------------------------------------------------
1040 #. type: Plain text
1041 #: build/C/man2/mbind.2:399
1042 msgid ""
1043 "The I<flags> argument included the B<MPOL_MF_MOVE_ALL> flag and the caller "
1044 "does not have the B<CAP_SYS_NICE> privilege."
1045 msgstr ""
1046 "I<flags> 引き数に B<MPOL_MF_MOVE_ALL> フラグが含まれているが、呼び出し元が "
1047 "B<CAP_SYS_NICE> 特権を持たない。"
1048
1049 #. type: Plain text
1050 #: build/C/man2/mbind.2:403
1051 msgid ""
1052 "The B<mbind>()  system call was added to the Linux kernel in version 2.6.7."
1053 msgstr ""
1054 "B<mbind>()  システムコールはバージョン 2.6.7 で Linux カーネルに追加された。"
1055
1056 #. type: Plain text
1057 #: build/C/man2/mbind.2:413
1058 #, fuzzy
1059 #| msgid ""
1060 #| "NUMA policy is not supported on a memory mapped file range that was "
1061 #| "mapped with the B<MAP_SHARED> flag."
1062 msgid ""
1063 "NUMA policy is not supported on a memory-mapped file range that was mapped "
1064 "with the B<MAP_SHARED> flag."
1065 msgstr ""
1066 "NUMA ポリシーは、 B<MAP_SHARED> フラグが指定されてマップされたメモリマップ・"
1067 "ファイルの領域では サポートされていない。"
1068
1069 #. type: Plain text
1070 #: build/C/man2/mbind.2:445
1071 msgid ""
1072 "The B<MPOL_DEFAULT> mode can have different effects for B<mbind>()  and "
1073 "B<set_mempolicy>(2).  When B<MPOL_DEFAULT> is specified for B<set_mempolicy>"
1074 "(2), the process's policy reverts to system default policy or local "
1075 "allocation.  When B<MPOL_DEFAULT> is specified for a range of memory using "
1076 "B<mbind>(), any pages subsequently allocated for that range will use the "
1077 "process's policy, as set by B<set_mempolicy>(2).  This effectively removes "
1078 "the explicit policy from the specified range, \"falling back\" to a possibly "
1079 "nondefault policy.  To select explicit \"local allocation\" for a memory "
1080 "range, specify a I<mode> of B<MPOL_PREFERRED> with an empty set of nodes.  "
1081 "This method will work for B<set_mempolicy>(2), as well."
1082 msgstr ""
1083 "B<MPOL_DEFAULT> モードは、 B<mbind>()  と B<set_mempolicy>(2)  で異なる効果を"
1084 "持つことができる。 B<set_mempolicy>(2)  で B<MPOL_DEFAULT> が指定された場合、"
1085 "そのプロセスのポリシーはシステムの デフォルトポリシー、すなわちローカルからの"
1086 "割り当て、に戻る。 B<mbind>()  を使ってメモリのある領域に B<MPOL_DEFAULT> が"
1087 "指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、 "
1088 "B<set_mempolicy>(2)  で設定したのと同じように、そのプロセスのポリシーが適用さ"
1089 "れる。 これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、 デ"
1090 "フォルトのポリシーに「戻す」ことができる。 あるメモリ領域に対して「ローカルか"
1091 "らの割り当て」を明示的に設定するには、 I<mode> に B<MPOL_PREFERRED> を指定"
1092 "し、 I<nodemask> に空集合のノードを指定すればよい。 この方法は "
1093 "B<set_mempolicy>(2)  でも通用する。"
1094
1095 #. type: Plain text
1096 #: build/C/man2/mbind.2:449
1097 msgid ""
1098 "Support for huge page policy was added with 2.6.16.  For interleave policy "
1099 "to be effective on huge page mappings the policied memory needs to be tens "
1100 "of megabytes or larger."
1101 msgstr ""
1102 "2.6.16 でヒュージページ・ポリシーへの対応が追加された。 インターリーブ・ポリ"
1103 "シーがヒュージページのマッピングで効果を持つには、 ポリシーが適用されるメモリ"
1104 "が数十メガバイト以上である必要がある。"
1105
1106 #. type: Plain text
1107 #: build/C/man2/mbind.2:452
1108 msgid "B<MPOL_MF_STRICT> is ignored on huge page mappings."
1109 msgstr "B<MPOL_MF_STRICT> はヒュージページのマッピングでは無視される。"
1110
1111 #. type: Plain text
1112 #: build/C/man2/mbind.2:457
1113 msgid ""
1114 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> are available only on Linux 2.6.16 "
1115 "and later."
1116 msgstr ""
1117 "B<MPOL_MF_MOVE> と B<MPOL_MF_MOVE_ALL> は Linux 2.6.16 以降でのみ利用可能であ"
1118 "る。"
1119
1120 #. type: Plain text
1121 #: build/C/man2/mbind.2:468
1122 msgid ""
1123 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), B<shmat>"
1124 "(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1125 msgstr ""
1126 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2),\n"
1127 "B<shmat>(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7),\n"
1128 "B<numactl>(8)"
1129
1130 #. type: TH
1131 #: build/C/man2/migrate_pages.2:18
1132 #, no-wrap
1133 msgid "MIGRATE_PAGES"
1134 msgstr "MIGRATE_PAGES"
1135
1136 #. type: TH
1137 #: build/C/man2/migrate_pages.2:18
1138 #, no-wrap
1139 msgid "2012-08-01"
1140 msgstr "2012-08-01"
1141
1142 #. type: Plain text
1143 #: build/C/man2/migrate_pages.2:21
1144 msgid "migrate_pages - move all pages in a process to another set of nodes"
1145 msgstr "migrate_pages - プロセスの全ページを別のノード集合に移動する"
1146
1147 #. type: Plain text
1148 #: build/C/man2/migrate_pages.2:28
1149 #, no-wrap
1150 msgid ""
1151 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1152 "B<                   const unsigned long *>I<old_nodes,>\n"
1153 "B<                   const unsigned long *>I<new_nodes>B<);>\n"
1154 msgstr ""
1155 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
1156 "B<                   const unsigned long *>I<old_nodes,>\n"
1157 "B<                   const unsigned long *>I<new_nodes>B<);>\n"
1158
1159 #. type: Plain text
1160 #: build/C/man2/migrate_pages.2:31 build/C/man2/move_pages.2:30
1161 msgid "Link with I<-lnuma>."
1162 msgstr "I<-lnuma> とリンクする。"
1163
1164 #. type: Plain text
1165 #: build/C/man2/migrate_pages.2:47
1166 msgid ""
1167 "B<migrate_pages>()  attempts to move all pages of the process I<pid> that "
1168 "are in memory nodes I<old_nodes> to the memory nodes in I<new_nodes>.  Pages "
1169 "not located in any node in I<old_nodes> will not be migrated.  As far as "
1170 "possible, the kernel maintains the relative topology relationship inside "
1171 "I<old_nodes> during the migration to I<new_nodes>."
1172 msgstr ""
1173 "B<MIGRATE_PAGES>() は、メモリノード I<old_nodes> にあるプロセス I<pid>\n"
1174 "の全ページを、メモリノード I<new_nodes> に移動しようとする。I<old_nodes> で\n"
1175 "指定されたメモリノードに置かれていないページは移動されない。\n"
1176 "カーネルは、 I<new_nodes> への移動の際に、 I<old_nodes> 内の相対的な\n"
1177 "トポロジー関係を可能な限り維持しようとする。"
1178
1179 #. type: Plain text
1180 #: build/C/man2/migrate_pages.2:69
1181 msgid ""
1182 "The I<old_nodes> and I<new_nodes> arguments are pointers to bit masks of "
1183 "node numbers, with up to I<maxnode> bits in each mask.  These masks are "
1184 "maintained as arrays of unsigned I<long> integers (in the last I<long> "
1185 "integer, the bits beyond those specified by I<maxnode> are ignored).  The "
1186 "I<maxnode> argument is the maximum node number in the bit mask plus one "
1187 "(this is the same as in B<mbind>(2), but different from B<select>(2))."
1188 msgstr ""
1189 "引き数 I<old_nodes> と I<new_nodes> は、最大で I<maxnode> ビットから\n"
1190 "構成されるノード番号のビットマスクへのポインタである。\n"
1191 "各ビットマスクは符号なし I<long> 整数の配列として管理される\n"
1192 "(I<maxnode> で指定された長さを越えた部分のビットは無視される)。\n"
1193 "引き数 I<maxnode> は最大ノード番号であり、ビットマスクの長さに 1 を\n"
1194 "加えた値となる (これは B<mbind>(2) と同じだが、 B<select>(2) とは違う)。"
1195
1196 #. type: Plain text
1197 #: build/C/man2/migrate_pages.2:83
1198 msgid ""
1199 "The I<pid> argument is the ID of the process whose pages are to be moved.  "
1200 "To move pages in another process, the caller must be privileged "
1201 "(B<CAP_SYS_NICE>)  or the real or effective user ID of the calling process "
1202 "must match the real or saved-set user ID of the target process.  If I<pid> "
1203 "is 0, then B<migrate_pages>()  moves pages of the calling process."
1204 msgstr ""
1205 "引き数 I<pid> は、移動を行うページの所有者のプロセス ID である。\n"
1206 "別のプロセスのページを移動するには、呼び出したプロセスが特権\n"
1207 "(B<CAP_SYS_NICE>) を持っているか、呼び出したプロセスの実ユーザ ID か\n"
1208 "実効ユーザ ID がページ移動の対象プロセスの実ユーザ ID か saved-set \n"
1209 "ユーザ ID と一致していなければならない。I<pid> が 0 の場合、\n"
1210 "B<migrate_pages>() は呼び出したプロセスのページを移動する。"
1211
1212 #. type: Plain text
1213 #: build/C/man2/migrate_pages.2:88
1214 msgid ""
1215 "Pages shared with another process will be moved only if the initiating "
1216 "process has the B<CAP_SYS_NICE> privilege."
1217 msgstr ""
1218 "別のプロセスと共有しているページは、呼び出したプロセスが\n"
1219 "B<CAP_SYS_NICE> 特権を持っている場合にのみ移動される。"
1220
1221 #. type: Plain text
1222 #: build/C/man2/migrate_pages.2:96
1223 msgid ""
1224 "On success B<migrate_pages>()  returns the number of pages that could not be "
1225 "moved (i.e., a return of zero means that all pages were successfully "
1226 "moved).  On error, it returns -1, and sets I<errno> to indicate the error."
1227 msgstr ""
1228 "B<migrate_pages>() は、移動できなかったページ数を返す\n"
1229 "(つまり、移動に成功した場合は返り値は 0 となる)。\n"
1230 "エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
1231
1232 #. type: Plain text
1233 #: build/C/man2/migrate_pages.2:106
1234 msgid ""
1235 "Insufficient privilege (B<CAP_SYS_NICE>)  to move pages of the process "
1236 "specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>)  to access "
1237 "the specified target nodes."
1238 msgstr ""
1239 "I<pid> で指定されたプロセスのページを移動するのに必要な特権\n"
1240 "(B<CAP_SYS_NICE>) がなかった。または、指定された対象ノードにアクセス\n"
1241 "するのに必要な権限 (B<CAP_SYS_NICE>) がなかった。"
1242
1243 #. type: TP
1244 #: build/C/man2/migrate_pages.2:106 build/C/man2/move_pages.2:187
1245 #, no-wrap
1246 msgid "B<ESRCH>"
1247 msgstr "B<ESRCH>"
1248
1249 #.  FIXME There are other errors
1250 #. type: Plain text
1251 #: build/C/man2/migrate_pages.2:112
1252 msgid "No process matching I<pid> could be found."
1253 msgstr "プロセス ID が I<pid> のプロセスが見つからなかった。"
1254
1255 #. type: Plain text
1256 #: build/C/man2/migrate_pages.2:116
1257 msgid ""
1258 "The B<migrate_pages>()  system call first appeared on Linux in version "
1259 "2.6.16."
1260 msgstr "B<migrate_pages>() システムコールは Linux 2.6.16 で初めて登場した。"
1261
1262 #. type: Plain text
1263 #: build/C/man2/migrate_pages.2:130
1264 msgid ""
1265 "Use B<get_mempolicy>(2)  with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1266 "set of nodes that are allowed by the calling process's cpuset.  Note that "
1267 "this information is subject to change at any time by manual or automatic "
1268 "reconfiguration of the cpuset."
1269 msgstr ""
1270 "呼び出し元プロセスの CPU 集合で許可されているノード集合を取得するには、\n"
1271 "B<MPOL_F_MEMS_ALLOWED> フラグを付けて B<get_mempolicy>(2) を使うこと。\n"
1272 "この情報は、手動/自動に限らず CPU 集合の再構成によりいつでも\n"
1273 "変更されることがある点に注意してほしい。"
1274
1275 #. type: Plain text
1276 #: build/C/man2/migrate_pages.2:142
1277 msgid ""
1278 "Use of B<migrate_pages>()  may result in pages whose location (node) "
1279 "violates the memory policy established for the specified addresses (see "
1280 "B<mbind>(2))  and/or the specified process (see B<set_mempolicy>(2)).  That "
1281 "is, memory policy does not constrain the destination nodes used by "
1282 "B<migrate_pages>()."
1283 msgstr ""
1284 "B<migrate_pages> を使用すると、ページが置かれる場所 (ノード) が、指定\n"
1285 "されたアドレスに対して設定されたメモリポリシー (B<mbind>(2) 参照) や\n"
1286 "指定されたプロセスに対して設定されたメモリポリシー\n"
1287 "(B<set_mempolicy>(2) 参照) に違反する状況になる可能性がある。\n"
1288 "すなわち、メモリポリシーによる制約は B<migrate_pages>() による移動先\n"
1289 "ノードの選択には適用されないということである。"
1290
1291 #. type: Plain text
1292 #: build/C/man2/migrate_pages.2:148 build/C/man2/move_pages.2:225
1293 msgid ""
1294 "The I<E<lt>numaif.hE<gt>> header is not included with glibc, but requires "
1295 "installing I<libnuma-devel> or a similar package."
1296 msgstr ""
1297 "ヘッダファイル I<E<lt>numaif.hE<gt>> は glibc には含まれておらず、 I<libnuma-"
1298 "devel> か同様のパッケージをインストールする必要がある。"
1299
1300 #. type: Plain text
1301 #: build/C/man2/migrate_pages.2:158 build/C/man2/move_pages.2:235
1302 msgid ""
1303 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1304 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numastat>(8)"
1305 msgstr ""
1306 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
1307 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), B<numastat>(8)"
1308
1309 #. type: Plain text
1310 #: build/C/man2/migrate_pages.2:161
1311 msgid "I<Documentation/vm/page_migration> in the Linux kernel source tree"
1312 msgstr "Linux カーネルソースの I<Documentation/vm/page_migration>"
1313
1314 #. type: TH
1315 #: build/C/man2/move_pages.2:18
1316 #, no-wrap
1317 msgid "MOVE_PAGES"
1318 msgstr "MOVE_PAGES"
1319
1320 #. type: TH
1321 #: build/C/man2/move_pages.2:18
1322 #, no-wrap
1323 msgid "2010-06-11"
1324 msgstr "2010-06-11"
1325
1326 #. type: Plain text
1327 #: build/C/man2/move_pages.2:21
1328 msgid "move_pages - move individual pages of a process to another node"
1329 msgstr "move_pages - あるプロセスの個々のページを別のノードに移動する"
1330
1331 #. type: Plain text
1332 #: build/C/man2/move_pages.2:27
1333 #, no-wrap
1334 msgid ""
1335 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1336 "B<                const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1337 msgstr ""
1338 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
1339 "B<                const int *>I<nodes>B<, int *>I<status>B<, int >I<flags>B<);>\n"
1340
1341 #. type: Plain text
1342 #: build/C/man2/move_pages.2:43
1343 msgid ""
1344 "B<move_pages>()  moves the specified I<pages> of the process I<pid> to the "
1345 "memory nodes specified by I<nodes>.  The result of the move is reflected in "
1346 "I<status>.  The I<flags> indicate constraints on the pages to be moved."
1347 msgstr ""
1348 "B<move_pages>()  は、プロセス I<pid> の指定されたページ I<pages> を I<nodes> "
1349 "で指定されたメモリノードに移動する。 移動の結果は I<status> に反映される。 "
1350 "I<flags> では移動されるページに関する制約を指定する。"
1351
1352 #. type: Plain text
1353 #: build/C/man2/move_pages.2:56
1354 msgid ""
1355 "I<pid> is the ID of the process in which pages are to be moved.  To move "
1356 "pages in another process, the caller must be privileged (B<CAP_SYS_NICE>)  "
1357 "or the real or effective user ID of the calling process must match the real "
1358 "or saved-set user ID of the target process.  If I<pid> is 0, then "
1359 "B<move_pages>()  moves pages of the calling process."
1360 msgstr ""
1361 "I<pid> は、移動されるページが属するプロセスの ID である。 別のプロセスのペー"
1362 "ジを移動するためには、呼び出し元が特権 (B<CAP_SYS_NICE>)  を持っているか、呼"
1363 "び出したプロセスの実ユーザ ID か実効ユーザ ID が ページ移動対象のプロセスの実"
1364 "ユーザ ID か保存 set-user-ID のどちらかと 一致しなければならない。 I<pid> が "
1365 "0 の場合、 B<move_pages>()  は呼び出したプロセスのページを移動する。"
1366
1367 #. type: Plain text
1368 #: build/C/man2/move_pages.2:64
1369 msgid ""
1370 "I<count> is the number of pages to move.  It defines the size of the three "
1371 "arrays I<pages>, I<nodes>, and I<status>."
1372 msgstr ""
1373 "I<count> は移動するページ数である。 I<count> により I<pages>, I<nodes>, "
1374 "I<status> の 3 つの配列の大きさが定義される。"
1375
1376 #.  FIXME what if they are not aligned?
1377 #. type: Plain text
1378 #: build/C/man2/move_pages.2:71
1379 msgid ""
1380 "I<pages> is an array of pointers to the pages that should be moved.  These "
1381 "are pointers that should be aligned to page boundaries.  Addresses are "
1382 "specified as seen by the process specified by I<pid>."
1383 msgstr ""
1384 "I<pages> は、移動すべきページへのポインタの配列であり、 各ポインタはページ境"
1385 "界に揃えた値を指定すべきである。 I<pid> で指定されたプロセスで見えるアドレス"
1386 "を指定する。"
1387
1388 #. type: Plain text
1389 #: build/C/man2/move_pages.2:84
1390 msgid ""
1391 "I<nodes> is an array of integers that specify the desired location for each "
1392 "page.  Each element in the array is a node number.  I<nodes> can also be "
1393 "NULL, in which case B<move_pages>()  does not move any pages but instead "
1394 "will return the node where each page currently resides, in the I<status> "
1395 "array.  Obtaining the status of each page may be necessary to determine "
1396 "pages that need to be moved."
1397 msgstr ""
1398 "I<nodes> は、各ページの希望の移動場所を示す整数値の配列であり、 配列の各要素"
1399 "はノード番号である。 I<nodes> には NULL を指定することもでき、この場合には "
1400 "B<move_pages>()  はどのページも移動しないが、各ページが現在配置されているノー"
1401 "ドを配列 I<status> に格納して返す。どのページを移動する必要があるかを判断する"
1402 "ために、 各ページの状態の取得が必要な場合もある。"
1403
1404 #. type: Plain text
1405 #: build/C/man2/move_pages.2:90
1406 msgid ""
1407 "I<status> is an array of integers that return the status of each page.  The "
1408 "array contains valid values only if B<move_pages>()  did not return an error."
1409 msgstr ""
1410 "I<status> は、各ページの状態を表す整数値の配列である。 この配列に有効な値が格"
1411 "納されるのは、 B<move_pages>()  がエラーを返さなかった場合だけである。"
1412
1413 #. type: Plain text
1414 #: build/C/man2/move_pages.2:102
1415 msgid ""
1416 "I<flags> specify what types of pages to move.  B<MPOL_MF_MOVE> means that "
1417 "only pages that are in exclusive use by the process are to be moved.  "
1418 "B<MPOL_MF_MOVE_ALL> means that pages shared between multiple processes can "
1419 "also be moved.  The process must be privileged (B<CAP_SYS_NICE>)  to use "
1420 "B<MPOL_MF_MOVE_ALL>."
1421 msgstr ""
1422 "I<flags> には、どの種類のページを移動するかを指定する。 B<MPOL_MF_MOVE> は、"
1423 "そのプロセスが排他的に使用しているページだけを移動することを意味する。 "
1424 "B<MPOL_MF_MOVE_ALL> は、複数のプロセス間で共有されているページも移動できるこ"
1425 "とを意味する。 B<MPOL_MF_MOVE_ALL> を使用するためには、そのプロセスが特権 "
1426 "(B<CAP_SYS_NICE>)  を持っていなければならない。"
1427
1428 #. type: SS
1429 #: build/C/man2/move_pages.2:102
1430 #, no-wrap
1431 msgid "Page states in the status array"
1432 msgstr "status 配列に格納されるページ状態"
1433
1434 #. type: Plain text
1435 #: build/C/man2/move_pages.2:106
1436 msgid ""
1437 "The following values can be returned in each element of the I<status> array."
1438 msgstr "I<status> 配列の各要素として、以下の値が返される。"
1439
1440 #. type: TP
1441 #: build/C/man2/move_pages.2:106
1442 #, no-wrap
1443 msgid "B<0..MAX_NUMNODES>"
1444 msgstr "B<0..MAX_NUMNODES>"
1445
1446 #. type: Plain text
1447 #: build/C/man2/move_pages.2:109
1448 msgid "Identifies the node on which the page resides."
1449 msgstr "そのページが配置されているノードを示す。"
1450
1451 #. type: TP
1452 #: build/C/man2/move_pages.2:109
1453 #, no-wrap
1454 msgid "B<-EACCES>"
1455 msgstr "B<-EACCES>"
1456
1457 #. type: Plain text
1458 #: build/C/man2/move_pages.2:114
1459 msgid ""
1460 "The page is mapped by multiple processes and can be moved only if "
1461 "B<MPOL_MF_MOVE_ALL> is specified."
1462 msgstr ""
1463 "そのページは複数のプロセスによりマップされており、 B<MPOL_MF_MOVE_ALL> が指定"
1464 "された場合にのみ移動できる。"
1465
1466 #. type: TP
1467 #: build/C/man2/move_pages.2:114
1468 #, no-wrap
1469 msgid "B<-EBUSY>"
1470 msgstr "B<-EBUSY>"
1471
1472 #. type: Plain text
1473 #: build/C/man2/move_pages.2:120
1474 msgid ""
1475 "The page is currently busy and cannot be moved.  Try again later.  This "
1476 "occurs if a page is undergoing I/O or another kernel subsystem is holding a "
1477 "reference to the page."
1478 msgstr ""
1479 "そのページが現在ビジーであり、移動できない。後でもう一度試すこと。 この状況"
1480 "は、ページが I/O の実行中であったり、カーネルの他のサブシステム がそのページ"
1481 "への参照を保持している場合に発生する。"
1482
1483 #. type: TP
1484 #: build/C/man2/move_pages.2:120
1485 #, no-wrap
1486 msgid "B<-EFAULT>"
1487 msgstr "B<-EFAULT>"
1488
1489 #. type: Plain text
1490 #: build/C/man2/move_pages.2:123
1491 msgid "This is a zero page or the memory area is not mapped by the process."
1492 msgstr ""
1493 "そのページが zero page であるか、そのメモリ領域はそのプロセスにより マップさ"
1494 "れていない。"
1495
1496 #. type: TP
1497 #: build/C/man2/move_pages.2:123
1498 #, no-wrap
1499 msgid "B<-EIO>"
1500 msgstr "B<-EIO>"
1501
1502 #. type: Plain text
1503 #: build/C/man2/move_pages.2:130
1504 msgid ""
1505 "Unable to write back a page.  The page has to be written back in order to "
1506 "move it since the page is dirty and the filesystem does not provide a "
1507 "migration function that would allow the move of dirty pages."
1508 msgstr ""
1509 "ページを書き戻す (write back) ことができない。 ページが dirty で、ファイルシ"
1510 "ステムが dirty なページを移動できるような 移動機能を提供していないため、その"
1511 "ページを移動するためにはページを 書き戻さなければならない。"
1512
1513 #. type: TP
1514 #: build/C/man2/move_pages.2:130
1515 #, no-wrap
1516 msgid "B<-EINVAL>"
1517 msgstr "B<-EINVAL>"
1518
1519 #. type: Plain text
1520 #: build/C/man2/move_pages.2:135
1521 msgid ""
1522 "A dirty page cannot be moved.  The filesystem does not provide a migration "
1523 "function and has no ability to write back pages."
1524 msgstr ""
1525 "dirty なページを移動できない。 ファイルシステムが dirty なページを移動するた"
1526 "めの機能を提供しておらず、 ページを書き戻す能力もない。"
1527
1528 #. type: TP
1529 #: build/C/man2/move_pages.2:135
1530 #, no-wrap
1531 msgid "B<-ENOENT>"
1532 msgstr "B<-ENOENT>"
1533
1534 #. type: Plain text
1535 #: build/C/man2/move_pages.2:138
1536 msgid "The page is not present."
1537 msgstr "ページが存在しない。"
1538
1539 #. type: TP
1540 #: build/C/man2/move_pages.2:138
1541 #, no-wrap
1542 msgid "B<-ENOMEM>"
1543 msgstr "B<-ENOMEM>"
1544
1545 #. type: Plain text
1546 #: build/C/man2/move_pages.2:141
1547 msgid "Unable to allocate memory on target node."
1548 msgstr "移動先のノードでメモリを確保することができない。"
1549
1550 #.  FIXME Is the following quite true: does the wrapper in numactl
1551 #.  do the right thing?
1552 #. type: Plain text
1553 #: build/C/man2/move_pages.2:150
1554 msgid ""
1555 "On success B<move_pages>()  returns zero.  On error, it returns -1, and sets "
1556 "I<errno> to indicate the error."
1557 msgstr ""
1558 "成功すると、 B<move_pages>()  は 0 を返す。 エラーの場合、-1 を返し、 "
1559 "I<errno> にエラーを示す値を設定する。"
1560
1561 #. type: TP
1562 #: build/C/man2/move_pages.2:151
1563 #, no-wrap
1564 msgid "B<E2BIG>"
1565 msgstr "B<E2BIG>"
1566
1567 #. type: Plain text
1568 #: build/C/man2/move_pages.2:154
1569 msgid "Too many pages to move."
1570 msgstr "移動すべきページが多過ぎる。"
1571
1572 #. type: TP
1573 #: build/C/man2/move_pages.2:154
1574 #, no-wrap
1575 msgid "B<EACCES>"
1576 msgstr "B<EACCES>"
1577
1578 #.  FIXME Clarify "current cpuset".  Is that the cpuset of the caller
1579 #.  or the target?
1580 #. type: Plain text
1581 #: build/C/man2/move_pages.2:159
1582 msgid "One of the target nodes is not allowed by the current cpuset."
1583 msgstr "移動先のノードのいずれかが現在の CPU 集合では許可されていない。"
1584
1585 #. type: Plain text
1586 #: build/C/man2/move_pages.2:162
1587 msgid "Parameter array could not be accessed."
1588 msgstr "パラメータ配列にアクセスできなかった。"
1589
1590 #. type: Plain text
1591 #: build/C/man2/move_pages.2:169
1592 msgid ""
1593 "Flags other than B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> was specified or an "
1594 "attempt was made to migrate pages of a kernel thread."
1595 msgstr ""
1596 "I<flags> に B<MPOL_MF_MOVE> でも B<MPOL_MF_MOVE_ALL> でもない値が指定された"
1597 "か、カーネルスレッドのページを移動させようとした。"
1598
1599 #. type: TP
1600 #: build/C/man2/move_pages.2:169
1601 #, no-wrap
1602 msgid "B<ENODEV>"
1603 msgstr "B<ENODEV>"
1604
1605 #. type: Plain text
1606 #: build/C/man2/move_pages.2:172
1607 msgid "One of the target nodes is not online."
1608 msgstr "移動先のノードのいずれかがオンラインでない。"
1609
1610 #. type: TP
1611 #: build/C/man2/move_pages.2:172
1612 #, no-wrap
1613 msgid "B<ENOENT>"
1614 msgstr "B<ENOENT>"
1615
1616 #. type: Plain text
1617 #: build/C/man2/move_pages.2:178
1618 msgid ""
1619 "No pages were found that require moving.  All pages are either already on "
1620 "the target node, not present, had an invalid address or could not be moved "
1621 "because they were mapped by multiple processes."
1622 msgstr ""
1623 "移動が必要なページが全く見つからなかった。 指定された全てのページが、すでに移"
1624 "動先のノードに存在するか、存在しないか、 無効なアドレスであったか、複数のプロ"
1625 "セスによってマップされていて移動でき なかったか、のいずれかであった。"
1626
1627 #. type: Plain text
1628 #: build/C/man2/move_pages.2:187
1629 msgid ""
1630 "The caller specified B<MPOL_MF_MOVE_ALL> without sufficient privileges "
1631 "(B<CAP_SYS_NICE>).  Or, the caller attempted to move pages of a process "
1632 "belonging to another user but did not have privilege to do so "
1633 "(B<CAP_SYS_NICE>)."
1634 msgstr ""
1635 "呼び出し元は B<MPOL_MF_MOVE_ALL> を指定したが、十分な特権 (B<CAP_SYS_NICE>)  "
1636 "を持っていない。 または、呼び出し元が他のユーザに属するプロセスのページを移動"
1637 "しようとしたが、 それを行えるだけの特権 (B<CAP_SYS_NICE>)  を持っていなかっ"
1638 "た。"
1639
1640 #. type: Plain text
1641 #: build/C/man2/move_pages.2:190
1642 msgid "Process does not exist."
1643 msgstr "プロセスが存在しない。"
1644
1645 #. type: Plain text
1646 #: build/C/man2/move_pages.2:193
1647 msgid "B<move_pages>()  first appeared on Linux in version 2.6.18."
1648 msgstr "B<move_pages>()  は、バージョン 2.6.18 で初めて Linux に登場した。"
1649
1650 #.  FIXME Clarify "current cpuset".  Is that the cpuset of the caller
1651 #.  or the target?
1652 #. type: Plain text
1653 #: build/C/man2/move_pages.2:209
1654 msgid ""
1655 "Use B<get_mempolicy>(2)  with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1656 "set of nodes that are allowed by the current cpuset.  Note that this "
1657 "information is subject to change at any time by manual or automatic "
1658 "reconfiguration of the cpuset."
1659 msgstr ""
1660 "現在の CPU 集合で許可されているノードの集合を取得するには、フラグ "
1661 "B<MPOL_F_MEMS_ALLOWED> を指定して B<get_mempolicy>(2)  を使用すればよい。 取"
1662 "得した情報は、CPU 集合の手動または自動での再構成により いつ何時変化してしまう"
1663 "か分からない。"
1664
1665 #. type: Plain text
1666 #: build/C/man2/move_pages.2:219
1667 msgid ""
1668 "Use of this function may result in pages whose location (node) violates the "
1669 "memory policy established for the specified addresses (See B<mbind>(2))  and/"
1670 "or the specified process (See B<set_mempolicy>(2)).  That is, memory policy "
1671 "does not constrain the destination nodes used by B<move_pages>()."
1672 msgstr ""
1673 "この関数を使用すると、ページの位置 (ノード) が 指定されたアドレスに対して設定"
1674 "されたメモリポリシー (B<mbind>(2)  参照) や指定されたプロセスに対して設定され"
1675 "たメモリポリシー (B<set_mempolicy>(2)  参照) に違反してしまう可能性がある。 "
1676 "つまり、メモリポリシーは B<move_pages>()  で使われる移動先ノードを制限しない"
1677 "ということである。"
1678
1679 #. type: TH
1680 #: build/C/man7/numa.7:29
1681 #, no-wrap
1682 msgid "NUMA"
1683 msgstr "NUMA"
1684
1685 #. type: TH
1686 #: build/C/man7/numa.7:29
1687 #, no-wrap
1688 msgid "2012-08-05"
1689 msgstr "2012-08-05"
1690
1691 #. type: Plain text
1692 #: build/C/man7/numa.7:32
1693 msgid "numa - overview of Non-Uniform Memory Architecture"
1694 msgstr "numa - 非対称型メモリアーキテクチャの概要"
1695
1696 #. type: Plain text
1697 #: build/C/man7/numa.7:43
1698 msgid ""
1699 "Non-Uniform Memory Access (NUMA) refers to multiprocessor systems whose "
1700 "memory is divided into multiple memory nodes.  The access time of a memory "
1701 "node depends on the relative locations of the accessing CPU and the accessed "
1702 "node.  (This contrasts with a symmetric multiprocessor system, where the "
1703 "access time for all of the memory is the same for all CPUs.)  Normally, each "
1704 "CPU on a NUMA system has a local memory node whose contents can be accessed "
1705 "faster than the memory in the node local to another CPU or the memory on a "
1706 "bus shared by all CPUs."
1707 msgstr ""
1708 "非対称型メモリアクセス (Non-Uniform Memory Access; NUMA) は、\n"
1709 "メモリが複数のメモリノードに分割されているマルチプロセッサシステム\n"
1710 "のことである。メモリノードへのアクセス時間は、アクセス元の CPU と\n"
1711 "アクセス先のノードの相対的な位置関係に依存する\n"
1712 "(これに対し、対称型マルチプロセッサシステムでは、どの CPU から\n"
1713 "どのメモリへのアクセス時間も同じである)。\n"
1714 "通常は、 NUMA システムの各 CPU にはローカルのメモリノードがあり、\n"
1715 "そのメモリノードには、他の CPU のローカルノードや全ての CPU で\n"
1716 "共有されるバス上のメモリよりも早くアクセスすることができる。"
1717
1718 #. type: SS
1719 #: build/C/man7/numa.7:43
1720 #, no-wrap
1721 msgid "NUMA system calls"
1722 msgstr "NUMA システムコール"
1723
1724 #. type: Plain text
1725 #: build/C/man7/numa.7:54
1726 msgid ""
1727 "The Linux kernel implements the following NUMA-related system calls: "
1728 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2), B<move_pages>(2), and "
1729 "B<set_mempolicy>(2).  However, applications should normally use the "
1730 "interface provided by I<libnuma>; see \"Library Support\" below."
1731 msgstr ""
1732 "Linux カーネルには、次に示す NUMA 関連のシステムコールが実装されている:\n"
1733 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2),\n"
1734 "B<move_pages>(2), B<set_mempolicy>(2).\n"
1735 "ただし、アプリケーションは通常は I<libnuma> が提供するインターフェース\n"
1736 "を使用すべきである。下記の「ライブラリによるサポート」を参照。"
1737
1738 #. type: SS
1739 #: build/C/man7/numa.7:54
1740 #, no-wrap
1741 msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1742 msgstr "/proc/[number]/numa_maps (Linux 2.6.14 以降)"
1743
1744 #.  See also Changelog-2.6.14
1745 #. type: Plain text
1746 #: build/C/man7/numa.7:58
1747 msgid ""
1748 "This file displays information about a process's NUMA memory policy and "
1749 "allocation."
1750 msgstr ""
1751 "このファイルは、プロセスの NUMA メモリポリシーと割り当てに関する\n"
1752 "情報を表示する。"
1753
1754 #. type: Plain text
1755 #: build/C/man7/numa.7:62
1756 msgid ""
1757 "Each line contains information about a memory range used by the process, "
1758 "displaying\\(emamong other information\\(emthe effective memory policy for "
1759 "that memory range and on which nodes the pages have been allocated."
1760 msgstr ""
1761 "各行に、そのプロセスが使用しているメモリ領域に関する情報が表示される。その他"
1762 "の情報 \\(em そのメモリ領域に適用されているメモリポリシーや、そのページがどの"
1763 "ノード上に割り当てられているか、など \\(em もあわせて表示される。"
1764
1765 #. type: Plain text
1766 #: build/C/man7/numa.7:70
1767 msgid ""
1768 "I<numa_maps> is a read-only file.  When I</proc/E<lt>pidE<gt>/numa_maps> is "
1769 "read, the kernel will scan the virtual address space of the process and "
1770 "report how memory is used.  One line is displayed for each unique memory "
1771 "range of the process."
1772 msgstr ""
1773 "I<numa_maps> は読み出し専用のファイルである。 I</proc/E<lt>pidE<gt>/"
1774 "numa_maps> から読み出しが行われると、 カーネルはそのプロセスの仮想アドレス空"
1775 "間をスキャンし、 メモリの使用状況を報告する。\n"
1776 "プロセスのメモリ領域の情報が 1 行に 1 領域で表示される。"
1777
1778 #. type: Plain text
1779 #: build/C/man7/numa.7:77
1780 msgid ""
1781 "The first field of each line shows the starting address of the memory "
1782 "range.  This field allows a correlation with the contents of the I</proc/"
1783 "E<lt>pidE<gt>/maps> file, which contains the end address of the range and "
1784 "other information, such as the access permissions and sharing."
1785 msgstr ""
1786 "各行の最初のフィールドはメモリ領域の開始アドレスを示す。 このフィールドは I</"
1787 "proc/E<lt>pidE<gt>/maps> ファイルの内容と対応している。 I</proc/"
1788 "E<lt>pidE<gt>/maps> には、メモリ領域の末尾のアドレスや、アクセス許可や共有と"
1789 "いった他の情報も含まれる。"
1790
1791 #. type: Plain text
1792 #: build/C/man7/numa.7:85
1793 msgid ""
1794 "The second field shows the memory policy currently in effect for the memory "
1795 "range.  Note that the effective policy is not necessarily the policy "
1796 "installed by the process for that memory range.  Specifically, if the "
1797 "process installed a \"default\" policy for that range, the effective policy "
1798 "for that range will be the process policy, which may or may not be \"default"
1799 "\"."
1800 msgstr ""
1801 "2 番目のフィールドは、 そのメモリ領域に現在適用されているメモリポリシーを示"
1802 "す。 適用されているポリシーは、 必ずしもそのプロセスがこのメモリ領域に対して"
1803 "設定したポリシーとは限らない点に注意すること。\n"
1804 "特に、 プロセスがその領域に対して「デフォルト」ポリシーを設定した場合、その領"
1805 "域に適用されるポリシーはプロセスのポリシーとなり、それが「デフォルト」ポリ"
1806 "シーとなる場合もあればそうでない場合もある。"
1807
1808 #. type: Plain text
1809 #: build/C/man7/numa.7:88
1810 msgid ""
1811 "The rest of the line contains information about the pages allocated in the "
1812 "memory range, as follows:"
1813 msgstr ""
1814 "行の残りの部分には、そのメモリ領域に割り当てられたページに関する情報が入る。"
1815 "以下に詳細を示す。"
1816
1817 #. type: TP
1818 #: build/C/man7/numa.7:88
1819 #, no-wrap
1820 msgid "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1821 msgstr "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1822
1823 #. type: Plain text
1824 #: build/C/man7/numa.7:101
1825 msgid ""
1826 "The number of pages allocated on I<E<lt>nodeE<gt>>.  I<E<lt>nr_pagesE<gt>> "
1827 "includes only pages currently mapped by the process.  Page migration and "
1828 "memory reclaim may have temporarily unmapped pages associated with this "
1829 "memory range.  These pages may show up again only after the process has "
1830 "attempted to reference them.  If the memory range represents a shared memory "
1831 "area or file mapping, other processes may currently have additional pages "
1832 "mapped in a corresponding memory range."
1833 msgstr ""
1834 "I<E<lt>nodeE<gt>> に割り当てられているページ数。 I<E<lt>nr_pagesE<gt>> に"
1835 "は、 そのプロセスが現在マッピングしているページだけが含まれる。 ページの移動"
1836 "やメモリの再利用により、 このメモリ領域に関連付けられているが、 一時的にマッ"
1837 "ピングされていないページが存在する場合がある。 プロセスがそれらのページを参照"
1838 "しようとした後には、 これらのページは再び現れる可能性がある。 メモリ領域が共"
1839 "有メモリやファイルマッピングの場合には、 そのメモリ領域内に別のページを他のプ"
1840 "ロセスがマッピングしている場合もある。"
1841
1842 #. type: TP
1843 #: build/C/man7/numa.7:101
1844 #, no-wrap
1845 msgid "I<file=E<lt>filenameE<gt>>"
1846 msgstr "I<file=E<lt>filenameE<gt>>"
1847
1848 #. type: Plain text
1849 #: build/C/man7/numa.7:107
1850 msgid ""
1851 "The file backing the memory range.  If the file is mapped as private, write "
1852 "accesses may have generated COW (Copy-On-Write) pages in this memory range.  "
1853 "These pages are displayed as anonymous pages."
1854 msgstr ""
1855 "そのメモリ領域に関連付けられているファイル。 ファイルがプライベート (非公開) "
1856 "でマッピングされている場合、 書き込みアクセスがあると、 このメモリ領域に書き"
1857 "込み時コピー (Copy-On-Write) ページが生成されることがある。 これらのページは"
1858 "無名ページ (anonymous page) として表示される。"
1859
1860 #. type: TP
1861 #: build/C/man7/numa.7:107
1862 #, no-wrap
1863 msgid "I<heap>"
1864 msgstr "I<heap>"
1865
1866 #. type: Plain text
1867 #: build/C/man7/numa.7:110
1868 msgid "Memory range is used for the heap."
1869 msgstr "ヒープに使用されているメモリ範囲。"
1870
1871 #. type: TP
1872 #: build/C/man7/numa.7:110
1873 #, no-wrap
1874 msgid "I<stack>"
1875 msgstr "I<stack>"
1876
1877 #. type: Plain text
1878 #: build/C/man7/numa.7:113
1879 msgid "Memory range is used for the stack."
1880 msgstr "スタックに使用されているメモリ範囲。"
1881
1882 #. type: TP
1883 #: build/C/man7/numa.7:113
1884 #, no-wrap
1885 msgid "I<huge>"
1886 msgstr "I<huge>"
1887
1888 #. type: Plain text
1889 #: build/C/man7/numa.7:117
1890 msgid ""
1891 "Huge memory range.  The page counts shown are huge pages and not regular "
1892 "sized pages."
1893 msgstr ""
1894 "ヒュージメモリの範囲。表示されるページ数は、\n"
1895 "通常の大きさのページではなく、ヒュージページの数である。"
1896
1897 #. type: TP
1898 #: build/C/man7/numa.7:117
1899 #, no-wrap
1900 msgid "I<anon=E<lt>pagesE<gt>>"
1901 msgstr "I<anon=E<lt>pagesE<gt>>"
1902
1903 #. type: Plain text
1904 #: build/C/man7/numa.7:120
1905 msgid "The number of anonymous page in the range."
1906 msgstr "メモリ範囲内の無名ページ (anonymous page) の数。"
1907
1908 #. type: TP
1909 #: build/C/man7/numa.7:120
1910 #, no-wrap
1911 msgid "I<dirty=E<lt>pagesE<gt>>"
1912 msgstr "I<dirty=E<lt>pagesE<gt>>"
1913
1914 #. type: Plain text
1915 #: build/C/man7/numa.7:123
1916 msgid "Number of dirty pages."
1917 msgstr "dirty (変更された) ページの数。"
1918
1919 #. type: TP
1920 #: build/C/man7/numa.7:123
1921 #, no-wrap
1922 msgid "I<mapped=E<lt>pagesE<gt>>"
1923 msgstr "I<mapped=E<lt>pagesE<gt>>"
1924
1925 #. type: Plain text
1926 #: build/C/man7/numa.7:130
1927 msgid ""
1928 "Total number of mapped pages, if different from I<dirty> and I<anon> pages."
1929 msgstr ""
1930 "マッピングされているページ数。 I<dirty> および I<anon> のページ数と異なる値の"
1931 "場合に表示される。"
1932
1933 #. type: TP
1934 #: build/C/man7/numa.7:130
1935 #, no-wrap
1936 msgid "I<mapmax=E<lt>countE<gt>>"
1937 msgstr "I<mapmax=E<lt>countE<gt>>"
1938
1939 #. type: Plain text
1940 #: build/C/man7/numa.7:136
1941 msgid ""
1942 "Maximum mapcount (number of processes mapping a single page) encountered "
1943 "during the scan.  This may be used as an indicator of the degree of sharing "
1944 "occurring in a given memory range."
1945 msgstr ""
1946 "スキャン中に検出した mapcount (一つのページをマッピングしているプロセス数) の"
1947 "最大値。 この値は、 そのメモリ領域でどの程度の共有が行われているかの指標とし"
1948 "て使うことができる。"
1949
1950 #. type: TP
1951 #: build/C/man7/numa.7:136
1952 #, no-wrap
1953 msgid "I<swapcache=E<lt>countE<gt>>"
1954 msgstr "I<swapcache=E<lt>countE<gt>>"
1955
1956 #. type: Plain text
1957 #: build/C/man7/numa.7:139
1958 msgid "Number of pages that have an associated entry on a swap device."
1959 msgstr "スワップデバイスに対応するエントリーが存在するページ数。"
1960
1961 #. type: TP
1962 #: build/C/man7/numa.7:139
1963 #, no-wrap
1964 msgid "I<active=E<lt>pagesE<gt>>"
1965 msgstr "I<active=E<lt>pagesE<gt>>"
1966
1967 #. type: Plain text
1968 #: build/C/man7/numa.7:145
1969 msgid ""
1970 "The number of pages on the active list.  This field is shown only if "
1971 "different from the number of pages in this range.  This means that some "
1972 "inactive pages exist in the memory range that may be removed from memory by "
1973 "the swapper soon."
1974 msgstr ""
1975 "アクティブリストに入っているページ数。 このフィールドが表示されるのは、 値が"
1976 "このメモリ領域のページ数と異なる場合だけである。このフィールドが表示されると"
1977 "いうことは、 このメモリ領域に、まもなくスワッパ (swapper) によりこの領域から"
1978 "削除される可能性がある inactive なページが存在することを意味する。"
1979
1980 #. type: TP
1981 #: build/C/man7/numa.7:145
1982 #, no-wrap
1983 msgid "I<writeback=E<lt>pagesE<gt>>"
1984 msgstr "I<writeback=E<lt>pagesE<gt>>"
1985
1986 #. type: Plain text
1987 #: build/C/man7/numa.7:148
1988 msgid "Number of pages that are currently being written out to disk."
1989 msgstr "現在ディスクに書き出されているページ数。"
1990
1991 #. type: Plain text
1992 #: build/C/man7/numa.7:150
1993 msgid "No standards govern NUMA interfaces."
1994 msgstr "NUMA インターフェースについて規定している標準はない。"
1995
1996 #. type: Plain text
1997 #: build/C/man7/numa.7:157
1998 msgid ""
1999 "The Linux NUMA system calls and I</proc> interface are available only if the "
2000 "kernel was configured and built with the B<CONFIG_NUMA> option."
2001 msgstr ""
2002 "Linux の NUMA システムコールと I</proc> インターフェースは、カーネルが\n"
2003 "設定オプション B<CONFIG_NUMA> を有効にして作成されている場合のみ、利用\n"
2004 "可能である。"
2005
2006 #. type: SS
2007 #: build/C/man7/numa.7:157
2008 #, no-wrap
2009 msgid "Library support"
2010 msgstr "ライブラリによるサポート"
2011
2012 #. type: Plain text
2013 #: build/C/man7/numa.7:166
2014 msgid ""
2015 "Link with I<-lnuma> to get the system call definitions.  I<libnuma> and the "
2016 "required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
2017 "package."
2018 msgstr ""
2019 "システムコールの定義を得るには I<-lnuma> でリンクすること。\n"
2020 "I<libnuma> と必要なヘッダファイル I<E<lt>numaif.hE<gt>> は\n"
2021 "I<numactl> パッケージで提供されている。"
2022
2023 #. type: Plain text
2024 #: build/C/man7/numa.7:183
2025 msgid ""
2026 "However, applications should not use these system calls directly.  Instead, "
2027 "the higher level interface provided by the B<numa>(3)  functions in the "
2028 "I<numactl> package is recommended.  The I<numactl> package is available at "
2029 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE .> "
2030 "The package is also included in some Linux distributions.  Some "
2031 "distributions include the development library and header in the separate "
2032 "I<numactl-devel> package."
2033 msgstr ""
2034 "ただし、アプリケーションはこれらのシステムコールを直接利用すべきでない。\n"
2035 "推奨される方法は、I<numactl> パッケージの B<numa>(3) の関数群が提供する\n"
2036 "高レベルインターフェースの利用である。 I<numactl> パッケージは\n"
2037 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE> で"
2038 "入手できる。\n"
2039 "このパッケージが収録されている Linux ディストリビューションもある。\n"
2040 "ディストリビューションによっては、開発用のライブラリとヘッダファイルは\n"
2041 "別パッケージ I<numactl-devel> で提供されている。"
2042
2043 #. type: Plain text
2044 #: build/C/man7/numa.7:191
2045 msgid ""
2046 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
2047 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
2048 msgstr ""
2049 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
2050 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
2051
2052 #. type: TH
2053 #: build/C/man2/set_mempolicy.2:27
2054 #, no-wrap
2055 msgid "SET_MEMPOLICY"
2056 msgstr "SET_MEMPOLICY"
2057
2058 #. type: Plain text
2059 #: build/C/man2/set_mempolicy.2:30
2060 msgid ""
2061 "set_mempolicy - set default NUMA memory policy for a process and its children"
2062 msgstr ""
2063 "set_mempolicy - プロセスとその子プロセスの NUMA メモリの デフォルトポリシーを"
2064 "設定する"
2065
2066 #. type: Plain text
2067 #: build/C/man2/set_mempolicy.2:36
2068 #, no-wrap
2069 msgid ""
2070 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
2071 "B<                  unsigned long >I<maxnode>B<);>\n"
2072 msgstr ""
2073 "B<int set_mempolicy(int >I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
2074 "B<                  unsigned long >I<maxnode>B<);>\n"
2075
2076 #. type: Plain text
2077 #: build/C/man2/set_mempolicy.2:49
2078 msgid ""
2079 "B<set_mempolicy>()  sets the NUMA memory policy of the calling process, "
2080 "which consists of a policy mode and zero or more nodes, to the values "
2081 "specified by the I<mode>, I<nodemask> and I<maxnode> arguments."
2082 msgstr ""
2083 "B<set_mempolicy>()  は、呼び出し元プロセスの NUMA ポリシーを I<policy> に設定"
2084 "する。 NUMA ポリシーはポリシーモードと 0 個以上のノードから構成され、 設定内"
2085 "容は引き数 I<mode>, I<nodemask>, I<maxnode> により指定される。"
2086
2087 #. type: Plain text
2088 #: build/C/man2/set_mempolicy.2:75
2089 #, fuzzy
2090 #| msgid ""
2091 #| "This system call defines the default policy for the process.  The process "
2092 #| "policy governs allocation of pages in the process's address space outside "
2093 #| "of memory ranges controlled by a more specific policy set by B<mbind>"
2094 #| "(2).  The process default policy also controls allocation of any pages "
2095 #| "for memory mapped files mapped using the B<mmap>(2)  call with the "
2096 #| "B<MAP_PRIVATE> flag and that are only read [loaded] from by the process "
2097 #| "and of memory mapped files mapped using the B<mmap>(2)  call with the "
2098 #| "B<MAP_SHARED> flag, regardless of the access type.  The policy is applied "
2099 #| "only when a new page is allocated for the process.  For anonymous memory "
2100 #| "this is when the page is first touched by the application."
2101 msgid ""
2102 "This system call defines the default policy for the process.  The process "
2103 "policy governs allocation of pages in the process's address space outside of "
2104 "memory ranges controlled by a more specific policy set by B<mbind>(2).  The "
2105 "process default policy also controls allocation of any pages for memory-"
2106 "mapped files mapped using the B<mmap>(2)  call with the B<MAP_PRIVATE> flag "
2107 "and that are only read [loaded] from by the process and of memory-mapped "
2108 "files mapped using the B<mmap>(2)  call with the B<MAP_SHARED> flag, "
2109 "regardless of the access type.  The policy is applied only when a new page "
2110 "is allocated for the process.  For anonymous memory this is when the page is "
2111 "first touched by the application."
2112 msgstr ""
2113 "B<set_mempolicy>()  は、プロセスのデフォルトポリシーを定める。 プロセスのポリ"
2114 "シーは、 B<mbind>(2)  で設定される特定のポリシーにより制御されるメモリ領域以"
2115 "外の プロセスのアドレス空間におけるページの割り当てに適用される。 プロセスの"
2116 "デフォルトポリシーは、 B<MAP_PRIVATE> フラグを指定した B<mmap>(2)  を使って"
2117 "マップされたメモリマップ・ファイルに対する読み出し専用 (ロードされるだけ) の"
2118 "ページの割り当てにも適用される。 また、 B<MAP_SHARED> フラグを指定した "
2119 "B<mmap>(2)  を使ってマップされたメモリマップ・ファイルに対するページの割り当"
2120 "てにも 適用される (この場合はページのアクセス種別に関わらず適用される) 。 設"
2121 "定したポリシーは、プロセスに新規のページが割り当てられるときにのみ 適用され"
2122 "る。無名メモリ (anonymous memory) の場合、新規ページの割り当ては アプリケー"
2123 "ションが初めてページにアクセスした際に行われる。"
2124
2125 #. type: Plain text
2126 #: build/C/man2/set_mempolicy.2:89
2127 #, fuzzy
2128 #| msgid ""
2129 #| "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
2130 #| "B<MPOL_INTERLEAVE> or B<MPOL_PREFERRED>.  All modes except "
2131 #| "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> "
2132 #| "argument one or more nodes."
2133 msgid ""
2134 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
2135 "B<MPOL_INTERLEAVE>, or B<MPOL_PREFERRED>.  All modes except B<MPOL_DEFAULT> "
2136 "require the caller to specify via the I<nodemask> argument one or more nodes."
2137 msgstr ""
2138 "I<mode> 引き数には B<MPOL_DEFAULT>, B<MPOL_BIND>, B<MPOL_INTERLEAVE>, "
2139 "B<MPOL_PREFERRED> のいずれか一つを指定してしなければならない。 "
2140 "B<MPOL_DEFAULT> 以外のポリシーの場合、呼び出し元は I<nodemask> 引き数で一つ以"
2141 "上のノードを指定する必要がある。"
2142
2143 #. type: Plain text
2144 #: build/C/man2/set_mempolicy.2:97
2145 msgid ""
2146 "The I<mode> argument may also include an optional I<mode flag>.  The "
2147 "supported I<mode flags> are:"
2148 msgstr ""
2149 "I<mode> 引き数には、追加で I<モードフラグ> を含めることもできる。 サポートさ"
2150 "れている I<モードフラグ> は以下の通りである。"
2151
2152 #. type: TP
2153 #: build/C/man2/set_mempolicy.2:97
2154 #, no-wrap
2155 msgid "B<MPOL_F_STATIC_NODES> (since Linux 2.6.26)"
2156 msgstr "B<MPOL_F_STATIC_NODES> (Linux 2.6.26 以降)"
2157
2158 #. type: Plain text
2159 #: build/C/man2/set_mempolicy.2:107
2160 msgid ""
2161 "A nonempty I<nodemask> specifies physical node ids.  Linux does will not "
2162 "remap the I<nodemask> when the process moves to a different cpuset context, "
2163 "nor when the set of nodes allowed by the process's current cpuset context "
2164 "changes."
2165 msgstr ""
2166 "空でない I<nodemask> は、物理ノード ID である。 Linux では、そのプロセスが異"
2167 "なる CPU 集合コンテキスト (cpuset context)  に移動した場合でも、そのプロセス"
2168 "の現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 "
2169 "I<nodemask> をマッピングし直すことはない。"
2170
2171 #. type: TP
2172 #: build/C/man2/set_mempolicy.2:107
2173 #, no-wrap
2174 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux 2.6.26)"
2175 msgstr "B<MPOL_F_RELATIVE_NODES> (Linux 2.6.26 以降)"
2176
2177 #. type: Plain text
2178 #: build/C/man2/set_mempolicy.2:133
2179 msgid ""
2180 "I<nodemask> points to a bit mask of node IDs that contains up to I<maxnode> "
2181 "bits.  The bit mask size is rounded to the next multiple of I<sizeof"
2182 "(unsigned long)>, but the kernel will use bits only up to I<maxnode>.  A "
2183 "NULL value of I<nodemask> or a I<maxnode> value of zero specifies the empty "
2184 "set of nodes.  If the value of I<maxnode> is zero, the I<nodemask> argument "
2185 "is ignored."
2186 msgstr ""
2187 "I<nodemask> は、最大で I<maxnode> ビットから構成されるノード ID のビットマス"
2188 "クを指す。 ビットマスクの大きさは、直近の I<sizeof(unsigned long)> の倍数に切"
2189 "り上げられるが、カーネルが使用するのは I<maxnode> 個までのビットだけである。 "
2190 "NULL 値の I<nodemask> もしくは値が 0 の I<maxnode> はノードの空集合を表す。 "
2191 "I<maxnode> の値が 0 の場合、 I<nodemask> 引き数は無視される。"
2192
2193 #. type: Plain text
2194 #: build/C/man2/set_mempolicy.2:154
2195 msgid ""
2196 "Where a I<nodemask> is required, it must contain at least one node that is "
2197 "on-line, allowed by the process's current cpuset context, [unless the "
2198 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory.  If the "
2199 "B<MPOL_F_STATIC_NODES> is set in I<mode> and a required I<nodemask> contains "
2200 "no nodes that are allowed by the process's current cpuset context, the "
2201 "memory policy reverts to I<local allocation>.  This effectively overrides "
2202 "the specified policy until the process's cpuset context includes one or more "
2203 "of the nodes specified by I<nodemask>."
2204 msgstr ""
2205 "I<nodemask> が必須の場面では、 I<nodemask> に、オンラインで、そのプロセスの現"
2206 "在の CPU 集合コンテキストで 許可されており (B<MPOL_F_STATIC_NODES> モードフラ"
2207 "グが指定されていない場合)、メモリがあるノードが 少なくとも一つ入っていなけれ"
2208 "ばならない。 I<mode> に B<MPOL_F_STATIC_NODES> がセットされ、 I<nodemask> が"
2209 "必須の場面で、 I<nodemask> に、そのプロセスの現在の CPU 集合コンテキストで許"
2210 "可されたノードが 一つも含まれていない場合には、メモリのポリシーとしてデフォル"
2211 "トの 「ローカルから割り当て (local allocation)」が適用される。 そのプロセス"
2212 "の CPU 集合コンテキストが I<nodemask> で指定されたノードを少なくとも一つ含む"
2213 "ようになるまでは、 結果的に指定された動作が上書きされることになる。"
2214
2215 #. type: Plain text
2216 #: build/C/man2/set_mempolicy.2:165
2217 #, fuzzy
2218 #| msgid ""
2219 #| "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory "
2220 #| "policy be removed, so that the memory policy \"falls back\" to the system "
2221 #| "default policy.  The system default policy is \"local allocation\"-- i."
2222 #| "e., allocate memory on the node of the CPU that triggered the "
2223 #| "allocation.  I<nodemask> must be specified as NULL.  If the \"local node"
2224 #| "\" contains no free memory, the system will attempt to allocate memory "
2225 #| "from a \"near by\" node."
2226 msgid ""
2227 "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory policy "
2228 "be removed, so that the memory policy \"falls back\" to the system default "
2229 "policy.  The system default policy is \"local allocation\"\\(emthat is, "
2230 "allocate memory on the node of the CPU that triggered the allocation.  "
2231 "I<nodemask> must be specified as NULL.  If the \"local node\" contains no "
2232 "free memory, the system will attempt to allocate memory from a \"near by\" "
2233 "node."
2234 msgstr ""
2235 "B<MPOL_DEFAULT> モードは、デフォルトではないプロセスのメモリポリシーを削除す"
2236 "ることを 指定するものである。これにより、メモリポリシーはシステムの デフォル"
2237 "トポリシーに「戻る」ことになる。 システムのデフォルトポリシーは「ローカルから"
2238 "の割り当て (local allocation)」、 つまりメモリ割り当てのきっかけとなった CPU "
2239 "のノードのメモリが割り当てられる。 I<nodemask> には NULL を指定しなければなら"
2240 "ない。 「自ノード (local node)」に空きメモリが全くない場合、システムは 「近く"
2241 "の (near by) ノード」からメモリを割り当てようと試みる。"
2242
2243 #. type: Plain text
2244 #: build/C/man2/set_mempolicy.2:182
2245 msgid ""
2246 "The B<MPOL_BIND> mode defines a strict policy that restricts memory "
2247 "allocation to the nodes specified in I<nodemask>.  If I<nodemask> specifies "
2248 "more than one node, page allocations will come from the node with the lowest "
2249 "numeric node ID first, until that node contains no free memory.  Allocations "
2250 "will then come from the node with the next highest node ID specified in "
2251 "I<nodemask> and so forth, until none of the specified nodes contain free "
2252 "memory.  Pages will not be allocated from any node not specified in the "
2253 "I<nodemask>."
2254 msgstr ""
2255 "B<MPOL_BIND> モードは厳密なポリシーで、メモリ割り当ては I<nodemask> に指定さ"
2256 "れたノードに限定される。 I<nodemask> に 2 個以上のノードが指定された場合、"
2257 "ページの割り当ては ノード ID が数字として最小のノードから開始され、 そのノー"
2258 "ドに空きメモリがなくなるまでそのノードから ページ割り当てが行われる。そのノー"
2259 "ドに空きメモリがなくなったら、 次に小さなノード ID を持つノードからページ割り"
2260 "当てが行われる。 これを、 I<nodemask> で指定された全てのノードで空きメモリが"
2261 "なくなるまで繰り返す。 I<nodemask> で指定された以外のノードからはページの割り"
2262 "当ては行われない。"
2263
2264 #.  NOTE:  the following sentence doesn't make sense in the context
2265 #.  of set_mempolicy() -- no memory area specified.
2266 #.  To be effective the memory area should be fairly large,
2267 #.  at least 1MB or bigger.
2268 #. type: Plain text
2269 #: build/C/man2/set_mempolicy.2:196
2270 msgid ""
2271 "B<MPOL_INTERLEAVE> interleaves page allocations across the nodes specified "
2272 "in I<nodemask> in numeric node ID order.  This optimizes for bandwidth "
2273 "instead of latency by spreading out pages and memory accesses to those pages "
2274 "across multiple nodes.  However, accesses to a single page will still be "
2275 "limited to the memory bandwidth of a single node."
2276 msgstr ""
2277 "B<MPOL_INTERLEAVE> では、ページ割り当てを I<nodemask> に指定されたノードの間"
2278 "でノード ID の数字順で交互に行う。 このポリシーでは、複数のノードにページを広"
2279 "げて配置し、これらのページへのメモリ アクセスを分散することで、遅延ではなく、"
2280 "帯域を最適化する。 ただし、一つのページへのアクセスに関しては依然として一つの"
2281 "ノードのメモリ帯域 が上限となる。"
2282
2283 #. type: Plain text
2284 #: build/C/man2/set_mempolicy.2:213
2285 msgid ""
2286 "B<MPOL_PREFERRED> sets the preferred node for allocation.  The kernel will "
2287 "try to allocate pages from this node first and fall back to \"near by\" "
2288 "nodes if the preferred node is low on free memory.  If I<nodemask> specifies "
2289 "more than one node ID, the first node in the mask will be selected as the "
2290 "preferred node.  If the I<nodemask> and I<maxnode> arguments specify the "
2291 "empty set, then the policy specifies \"local allocation\" (like the system "
2292 "default policy discussed above)."
2293 msgstr ""
2294 "B<MPOL_PREFERRED> は、割り当て時に優先されるノード (preferred node) を設定す"
2295 "る。 カーネルはまず優先ノードからページ割り当てを行おうとし、 優先ノードに空"
2296 "きメモリが少ない場合に「近くの (near by)」ノードから 割り当てを行う。 "
2297 "I<nodemask> に複数のノード ID が指定された場合は、 I<nodemask> 内の最初のノー"
2298 "ドが優先ノードとして選択される。 引き数 I<nodemask>, I<maxnode> で空集合が指"
2299 "定された場合は、ポリシーは (上述のシステムの デフォルトポリシーと同様に) "
2300 "「ローカルからの割り当て」となる。"
2301
2302 #. type: Plain text
2303 #: build/C/man2/set_mempolicy.2:220
2304 msgid ""
2305 "The process memory policy is preserved across an B<execve>(2), and is "
2306 "inherited by child processes created using B<fork>(2)  or B<clone>(2)."
2307 msgstr ""
2308 "プロセスのメモリポリシーは B<execve>(2)  の前後で保持され、 B<fork>(2)  や "
2309 "B<clone>(2)  を使って作成された子プロセスに継承される。"
2310
2311 #. type: Plain text
2312 #: build/C/man2/set_mempolicy.2:227
2313 msgid ""
2314 "On success, B<set_mempolicy>()  returns 0; on error, -1 is returned and "
2315 "I<errno> is set to indicate the error."
2316 msgstr ""
2317 "成功すると、 B<set_mempolicy>()  は 0 を返す。エラーの場合、-1 を返し、 "
2318 "I<errno> にエラーを示す値を設定する。"
2319
2320 #. type: Plain text
2321 #: build/C/man2/set_mempolicy.2:272
2322 msgid ""
2323 "I<mode> is invalid.  Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> is "
2324 "nonempty, or I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> "
2325 "is empty.  Or, I<maxnode> specifies more than a page worth of bits.  Or, "
2326 "I<nodemask> specifies one or more node IDs that are greater than the maximum "
2327 "supported node ID.  Or, none of the node IDs specified by I<nodemask> are on-"
2328 "line and allowed by the process's current cpuset context, or none of the "
2329 "specified nodes contain memory.  Or, the I<mode> argument specified both "
2330 "B<MPOL_F_STATIC_NODES> and B<MPOL_F_RELATIVE_NODES>."
2331 msgstr ""
2332 "I<mode> が不正である。 I<mode> が B<MPOL_DEFAULT> で、 I<nodemask> が空ではな"
2333 "い。 I<mode> が B<MPOL_BIND> か B<MPOL_INTERLEAVE> で、 I<nodemask> が空であ"
2334 "る。 I<maxnode> で実際に意味があるビット数より多くのビット数が指定された。 "
2335 "I<nodemask> に、サポートされている最大ノード ID より大きいノードが指定され"
2336 "た。 I<nodemask> に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキ"
2337 "ストで 許可されているノードが一つも含まれていないか、 メモリを含むノードが一"
2338 "つも指定されていない。 I<mode> 引き数に B<MPOL_F_STATIC_NODES> と "
2339 "B<MPOL_F_RELATIVE_NODES> の両方が指定された。"
2340
2341 #. type: Plain text
2342 #: build/C/man2/set_mempolicy.2:279
2343 msgid ""
2344 "The B<set_mempolicy>(), system call was added to the Linux kernel in version "
2345 "2.6.7."
2346 msgstr ""
2347 "B<set_mempolicy>()  システムコールはバージョン 2.6.7 で Linux カーネルに追加"
2348 "された。"
2349
2350 #. type: Plain text
2351 #: build/C/man2/set_mempolicy.2:286
2352 msgid ""
2353 "Process policy is not remembered if the page is swapped out.  When such a "
2354 "page is paged back in, it will use the policy of the process or memory range "
2355 "that is in effect at the time the page is allocated."
2356 msgstr ""
2357 "ページがスワップ・アウトされる場合には、 プロセスポリシーの設定は推奨されな"
2358 "い。 スワップ・アウトされたページがページ・インする際にも、 ページ割り当て時"
2359 "に適用されるプロセスポリシーやメモリ領域ポリシーが 使用される。"
2360
2361 #. type: Plain text
2362 #: build/C/man2/set_mempolicy.2:298
2363 msgid ""
2364 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2365 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
2366 msgstr ""
2367 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
2368 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"