OSDN Git Service

(split) LDP: Update release pages
[linuxjm/LDP_man-pages.git] / release / man2 / swapon.2
index 1e9ba96..1758e04 100644 (file)
@@ -1,7 +1,6 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
 .\"
 .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -21,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" Modified by Michael Haardt <michael@moria.de>
 .\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
 .\"
 .\" Modified by Michael Haardt <michael@moria.de>
 .\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
 .\" 2007-06-22 Ivana Varekova <varekova@redhat.com>, mtk
 .\"     Update text describing limit on number of swap files.
 .\"
 .\" 2007-06-22 Ivana Varekova <varekova@redhat.com>, mtk
 .\"     Update text describing limit on number of swap files.
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated Mon Mar  3 23:54:56 JST 1997
 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated Mon Mar  3 23:54:56 JST 1997
 .\" Updated & Modified Fri Feb 11 07:40:12 JST 2005
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\" Updated 2007-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.64
 .\" Updated & Modified Fri Feb 11 07:40:12 JST 2005
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\" Updated 2007-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.64
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
 .\"
-.\"WORD:       swap                    ¥¹¥ï¥Ã¥×
-.\"WORD:       block device            ¥Ö¥í¥Ã¥¯¡¦¥Ç¥Ð¥¤¥¹
-.\"WORD:       super-user              ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼
-.\"WORD:       round robin             ¥é¥¦¥ó¥É¡¦¥í¥Ó¥ó
-.\"WORD:       partition               ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
-.\"WORD:       page                    ¥Ú¡¼¥¸
-.\"WORD:       kernel                  ¥«¡¼¥Í¥ë
-.\"
-.TH SWAPON 2 2010-06-15 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-swapon, swapoff \- ¥Õ¥¡¥¤¥ë/¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¹¥ï¥Ã¥×¤ò³«»Ï/Ää»ß¤¹¤ë
-.SH ½ñ¼°
-.B #include <unistd.h>
+.TH SWAPON 2 2010\-11\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+swapon, swapoff \- ファイル/デバイスへのスワップを開始/停止する
+.SH 書式
+\fB#include <unistd.h>\fP
 .br
 .br
-.B #include <asm/page.h>     /* PAGE_SIZE ¤ò¸«¤Ä¤±¤ë¤¿¤á */
+\fB#include <asm/page.h> /* PAGE_SIZE を見つけるため */\fP
 .br
 .br
-.B #include <sys/swap.h>
+\fB#include <sys/swap.h>\fP
 .sp
 .sp
-.BI "int swapon(const char *" path ", int " swapflags );
+\fBint swapon(const char *\fP\fIpath\fP\fB, int \fP\fIswapflags\fP\fB);\fP
 .br
 .br
-.BI "int swapoff(const char *" path );
-.SH ÀâÌÀ
-.BR swapon ()
-¤Ï
-.I path
-¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Ö¥í¥Ã¥¯¡¦¥Ç¥Ð¥¤¥¹¤Ë¥¹¥ï¥Ã¥×Îΰè¤òÀßÄꤹ¤ë¡£
-.BR swapoff ()
-¤Ï
-.I path
-¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Ö¥í¥Ã¥¯¡¦¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¹¥ï¥Ã¥×¤òÄä»ß¤¹¤ë¡£
+\fBint swapoff(const char *\fP\fIpath\fP\fB);\fP
+.SH 説明
+\fBswapon\fP()  は \fIpath\fP で指定されたファイルやブロックデバイスにスワップ領域を設定する。 \fBswapoff\fP()  は
+\fIpath\fP で指定されたファイルやブロックデバイスへのスワップを停止する。
 .PP
 .PP
-.BR swapon ()
-¤Ï
-.I swapflags
-°ú¤­¿ô¤ò¼è¤ë¡£
-.I swapflags
-¤Ë
-.B SWAP_FLAG_PREFER
-¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥¹¥ï¥Ã¥×Îΰè¤Ï¥Ç¥Õ¥©¥ë¥È¤è¤ê¤â¹â¤¤
-Í¥ÀèÅÙ¤ò»ý¤Ä¡£
-Í¥ÀèÅÙ¤Ï
-.I swapflags
-¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥³¡¼¥É²½¤µ¤ì¤Æ¤¤¤ë¡£
+\fBswapon\fP() の \fIswapflags\fP 引き数に \fBSWAP_FLAG_PREFER\fP フラグが指定された場合、
+新しいスワップ領域はデフォルトよりも高い優先度を持つ。
+優先度は以下のように変換されて \fIswapflags\fP に指定する。
 .br
 .sp
 .br
 .sp
-.I "    (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK"
+\fI(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK\fP
 .br
 .PP
 .br
 .PP
-¤³¤ì¤é¤Î´Ø¿ô¤ÏÆø¢¥×¥í¥»¥¹
-.RB ( CAP_SYS_ADMIN
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ä¥×¥í¥»¥¹) ¤Î¤ß¤¬»ÈÍѤǤ­¤ë¡£
-.SS Í¥ÀèÅÙ
-¤½¤ì¤¾¤ì¤Î¥¹¥ï¥Ã¥×Îΰè¤Ï¹â (high) ¤ÈÄã (low) ¤Î¤É¤Á¤é¤«¤ÎÍ¥ÀèÅÙ¤ò»ý¤Ä¡£
-¥Ç¥Õ¥©¥ë¥È¤ÎÍ¥ÀèÅÙ¤ÏÄã¤Ç¤¢¤ë¡£
-Ä㤤ͥÀèÅÙ¤ÎÎΰè¤Ë¤ª¤¤¤Æ¡¢¿·¤·¤¤Îΰè¤Ï¸Å¤¤Îΰè¤è¤ê¤µ¤é¤ËÄ㤤
-Í¥ÀèÅÙ¤ò»ý¤Ä¡£
+\fBSWAP_FLAG_DISCARD\fP フラグが \fBswapon\fP() の \fIswapflags\fP 引き数に指定された場合、
+スワップデバイスが破棄 (discard) 操作や trim 操作をサポートしている場合には、
+解放されたスワップページは再利用される前に破棄される
+(これにより、SSD (Solid State Device) によっては性能が向上することがあるが、
+たいていは性能の向上はない)。
+「注意」も参照のこと。
+.PP
+これらの関数は特権プロセス (\fBCAP_SYS_ADMIN\fP ケーパビリティ (capability) を持つプロセス) のみが使用できる。
+.SS 優先度
+それぞれのスワップ領域は高 (high) と低 (low) のどちらかの優先度を持つ。 デフォルトの優先度は低である。
+低い優先度の領域において、新しい領域は古い領域よりさらに低い 優先度を持つ。
 .PP
 .PP
-.I swapflags
-¤¬ÀßÄꤵ¤ì¤¿¤â¤Î¤ÏÁ´¤Æ¹â¤¤Í¥ÀèÅ٤Ȥʤꡢ¥Ç¥Õ¥©¥ë¥È¤è¤ê¤â¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä¡£
-»ÈÍѼԤϤ½¤ì¤é¤ËÉé¤Ç¤Ê¤¤Ãͤ¬»ØÄê¤Ç¤­¤ë¡£
-Â礭¤Ê¿ô»ú¤Ï¹â¤¤Í¥ÀèÅÙ¤ò°ÕÌ£¤¹¤ë¡£
+\fIswapflags\fP が設定されたものは全て高い優先度となり、デフォルトよりも高い優先度を持つ。 使用者はそれらに負でない値が指定できる。
+大きな数字は高い優先度を意味する。
 .PP
 .PP
-¹â¤¤Í¥ÀèÅÙ¤ÎÎΰ褫¤é½ç¤Ë¥¹¥ï¥Ã¥×¡¦¥Ú¡¼¥¸¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£
-¤è¤êÄ㤤ͥÀèÅÙ¤ÎÎΰè¤ò»ÈÍѤ¹¤ëÁ°¤Ë¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î
-Îΰè¤ò»È¤¤Àڤ롣¤â¤·Æó¤Ä°Ê¾å¤ÎÎΰ褬Ʊ¤¸Í¥ÀèÅÙ¤ò»ý¤Á¡¢
-»È¤¨¤ëÃæ¤Ç°ìÈֹ⤤ͥÀèÅ٤Ǥ¢¤ì¤Ð¡¢¤½¤ì¤é¤Î¥Ú¡¼¥¸¤Ï´Ö¤Ç
-¥é¥¦¥ó¥É¡¦¥í¥Ó¥óÊý¼°¤ÇÇÛʬ¤µ¤ì¤ë¡£
+高い優先度の領域から順にスワップページとして使用される。 より低い優先度の領域を使用する前により高い優先度の
+領域を使い切る。もし二つ以上の領域が同じ優先度を持ち、 使える中で一番高い優先度であれば、それらのページは間で ラウンドロビン方式で配分される。
 .PP
 .PP
-Linux 1.3.6 ¤Ë¤ª¤¤¤Æ¡¢¥«¡¼¥Í¥ë¤ÏÄ̾ï¤Ï¤³¤ì¤é¤Îµ¬Â§¤Ë½¾¤Ã¤Æ¤¤¤ë¡£
-¤·¤«¤·Îã³°¤â¸ºß¤·¤Æ¤¤¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EBUSY
-.RB ( swapon ()
-¤Ë¤ª¤¤¤Æ) »ØÄꤵ¤ì¤¿
-.I path
-¤¬´û¤Ë¥¹¥ï¥Ã¥×Îΰè¤È¤·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£
-.TP
-.B EINVAL
-¥Õ¥¡¥¤¥ë
-.I path
-¤Ï¸ºß¤¹¤ë¤¬¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤â¥Ö¥í¥Ã¥¯¡¦¥Ç¥Ð¥¤¥¹¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¡£
-¤Þ¤¿¤Ï
-.BR swapon ()
-¤Ë¤ª¤¤¤Æ¡¢»ØÄꤵ¤ì¤¿ path ¤Î¥Õ¥¡¥¤¥ë¤¬Í­¸ú¤Ê¥¹¥ï¥Ã¥×¤Î½ð̾ (signature) ¤ò
-´Þ¤ó¤Ç¤¤¤Ê¤¤¤«¡¢tmpfs ¤Î¤è¤¦¤Ê¥¤¥ó¥á¥â¥ê (in-memory) ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
-¾å¤Ë¤¢¤ë¡£
-¤Þ¤¿¤Ï
-.BR swapoff ()
-¤Ë¤ª¤¤¤Æ¡¢
-.I path
-¤¬¸½ºß¤Î¤È¤³¤í¥¹¥ï¥Ã¥×Îΰè¤Ç¤Ê¤¤¡£
-.TP
-.B ENFILE
-¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÁí¿ô¤¬¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤Ë㤷¤¿¡£
-.TP
-.B ENOENT
-¥Õ¥¡¥¤¥ë
-.I path
-¤¬Â¸ºß¤·¤Ê¤¤¡£
-.TP
-.B ENOMEM
-¥¹¥ï¥Ã¥×¤ò³«»Ï¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¡¼¤¬¥·¥¹¥Æ¥à¤Ë¤Ê¤¤¡£
-.TP
-.B EPERM
-»ÈÍѼԤ¬
-.B CAP_SYS_ADMIN
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-¤â¤·¤¯¤Ï¡¢ºÇÂç¿ô¤Î¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë
-(²¼µ­¤Î¡ÖÃí°Õ¡×¤ÎÀá¤ò»²¾È)¡£
-.SH ½àµò
-¤³¤ì¤é¤Î´Ø¿ô¤Ï Linux ÆÃÍ­¤Ç¤¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï
-»ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-ÆóÈÖÌܤÎ
-.I swapflags
-°ú¤­¿ô¤Ï Linux 1.3.2 ¤«¤éƳÆþ¤µ¤ì¤¿¡£
-.SH Ãí°Õ
-¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ä¥Ñ¥¹¤Ï
-.BR mkswap (8)
-¤Ë¤è¤Ã¤Æ½àÈ÷¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+Linux 1.3.6 において、カーネルは通常はこれらの規則に従っている。 しかし例外も存在している。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEBUSY\fP
+(\fBswapon\fP()  において) 指定された \fIpath\fP が既にスワップ領域として使用されている。
+.TP 
+\fBEINVAL\fP
+ファイル \fIpath\fP は存在するが、通常のファイルもブロックデバイスも参照していない。 または \fBswapon\fP()  において、指定された
+path のファイルが有効なスワップの署名 (signature) を 含んでいないか、tmpfs のようなインメモリ (in\-memory)
+のファイルシステム 上にある。 または \fBswapoff\fP()  において、 \fIpath\fP が現在のところスワップ領域でない。
+.TP 
+\fBENFILE\fP
+オープンされたファイルの総数がシステム全体の上限に達していた。
+.TP 
+\fBENOENT\fP
+ファイル \fIpath\fP が存在しない。
+.TP 
+\fBENOMEM\fP
+スワップを開始するのに十分なメモリーがシステムにない。
+.TP 
+\fBEPERM\fP
+使用者が \fBCAP_SYS_ADMIN\fP ケーパビリティを持っていない。 もしくは、最大数のスワップファイルがすでに使用されている
+(下記の「注意」の節を参照)。
+.SH 準拠
+これらの関数は Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 二番目の \fIswapflags\fP 引き数は Linux
+1.3.2 から導入された。
+.SH 注意
+パーティションやパスは \fBmkswap\fP(8)  によって準備されていなければならない。
+
+使用できるスワップファイルの数には上限があり、その上限は カーネル定数 \fBMAX_SWAPFILES\fP で定義される。
+\fBMAX_SWAPFILES\fP の値は、カーネル 2.4.10 より前では 8、 カーネル 2.4.10 以降では 32 である。 カーネル
+2.6.18 以降では、カーネルが \fBCONFIG_MIGRATION\fP オプションを有効にして作成された場合、 この上限が 2 少ない値 (つまり
+30) となる (このカーネルでは、 \fBmbind\fP(2)  と \fBmigrate_pages\fP(2)
+のページマイグレーション機能用にスワップテーブルのエントリーが 二つ予約される)。 カーネル 2.6.32 以降では、カーネルが
+\fBCONFIG_MEMORY_FAILURE\fP オプションを有効にして作成された場合、 この上限がさらに 1 少ない値となる。
 
 
-»ÈÍѤǤ­¤ë¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î¿ô¤Ë¤Ï¾å¸Â¤¬¤¢¤ê¡¢¤½¤Î¾å¸Â¤Ï
-¥«¡¼¥Í¥ëÄê¿ô
-.B MAX_SWAPFILES
-¤ÇÄêµÁ¤µ¤ì¤ë¡£
-.B MAX_SWAPFILES
-¤ÎÃͤϡ¢¥«¡¼¥Í¥ë 2.4.10 ¤è¤êÁ°¤Ç¤Ï 8¡¢
-¥«¡¼¥Í¥ë 2.4.10 °Ê¹ß¤Ç¤Ï 32 ¤Ç¤¢¤ë¡£
-¥«¡¼¥Í¥ë 2.6.18 °Ê¹ß¤Ç¤Ï¡¢¥«¡¼¥Í¥ë¤¬
-.B CONFIG_MIGRATION
-¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤ÆºîÀ®¤µ¤ì¤¿¾ì¹ç¡¢
-¤³¤Î¾å¸Â¤¬ 2 ¾¯¤Ê¤¤ÃÍ (¤Ä¤Þ¤ê 30) ¤È¤Ê¤ë
-(¤³¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-.BR mbind (2)
-¤È
-.BR migrate_pages (2)
-¤Î¥Ú¡¼¥¸¡¦¥Þ¥¤¥°¥ì¡¼¥·¥ç¥óµ¡Ç½ÍѤ˥¹¥ï¥Ã¥×¡¦¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¡¼¤¬
-Æó¤ÄͽÌ󤵤ì¤ë)¡£
-¥«¡¼¥Í¥ë 2.6.32 °Ê¹ß¤Ç¤Ï¡¢¥«¡¼¥Í¥ë¤¬
-.B CONFIG_MEMORY_FAILURE
-¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤ÆºîÀ®¤µ¤ì¤¿¾ì¹ç¡¢
-¤³¤Î¾å¸Â¤¬¤µ¤é¤Ë 1 ¾¯¤Ê¤¤ÃͤȤʤ롣
-.SH ´ØÏ¢¹àÌÜ
-.BR mkswap (8),
-.BR swapoff (8),
-.BR swapon (8)
+.\" To be precise: 2.6.35.5
+スワップページの破棄は、カーネル 2.6.29 で導入され、その後カーネル 2.6.36 で
+\fBSWAP_FLAG_DISCARD\fP フラグが指定された場合にだけ実行されるようになったが、
+今でも、このフラグビットが指定されていない場合であっても、
+\fBswapon\fP が呼び出された際にスワップ領域全体の破棄が行われる。
+.SH 関連項目
+\fBmkswap\fP(8), \fBswapoff\fP(8), \fBswapon\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。