Man page - swapoff(2)

Packages contains this manual

Available languages:

en fr it nl ja ru ro de

Manual

SWAPON

名 前
書 åŧ
čĒŦ 明
å„Ē 先 åēĻ
čŋ” り 値
エ ナ ãƒŧ
æē– 拠
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

swapon, swapoff - フ ã‚Ą イ ãƒĢ /デ バ イ ゚ へ ぎ ゚ ワ ッ プ を 開 始 /停 æ­ĸ す る

書 åŧ

#include <unistd.h>
#include <sys/swap.h>

int swapon(const char * path , int swapflags );
int swapoff(const char *
path );

čĒŦ 明

swapon () は path で 指 厚 さ れ た フ ã‚Ą イ ãƒĢ や ブ ロ ッ ク デ バ イ ゚ ãĢ ゚ ワ ッ プ 領 域 を 設 厚 す る 。 swapoff () は path で 指 厚 さ れ た フ ã‚Ą イ ãƒĢ や ブ ロ ッ ク デ バ イ ゚ へ ぎ ゚ ワ ッ プ を 停 æ­ĸ す る 。

swapon () ぎ swapflags åŧ• 数 ãĢ SWAP_FLAG_PREFER フ ナ グ が 指 厚 さ れ た å ´ 合 、 新 し い ゚ ワ ッ プ 領 域 は デ フ り ãƒĢ ト よ り も é̘ い å„Ē 先 åēĻ ã‚’ 持 つ 。 å„Ē 先 åēĻ ã¯ äģĨ 下 ぎ よ う ãĢ 変 換 さ れ ãĻ swapflags ãĢ 指 厚 す る 。

(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

SWAP_FLAG_DISCARD フ ナ グ が swapon () ぎ swapflags åŧ• 数 ãĢ 指 厚 さ れ た å ´ 合 、 ゚ ワ ッ プ デ バ イ ゚ が į ´ æŖ„ (discard) 操 äŊœ や trim 操 äŊœ を ã‚ĩ ポ ãƒŧ ト し ãĻ い る å ´ 合 ãĢ は 、 č§Ŗ 攞 さ れ た ゚ ワ ッ プ ペ ãƒŧ ジ は 再 刊 ᔍ さ れ る 前 ãĢ į ´ æŖ„ さ れ る (こ れ ãĢ よ り 、 SSD (Solid State Device) ãĢ よ ãŖ ãĻ は 性 čƒŊ が 向 上 す る こ と が あ る が 、 た い ãĻ い は 性 čƒŊ ぎ 向 上 は ãĒ い )。 「 æŗ¨ 意 」 も 参 į…§ ぎ こ と 。

こ れ ら ぎ é–ĸ 数 は į‰š 樊 プ ロ ã‚ģ ゚ ( CAP_SYS_ADMIN ã‚ą ãƒŧ パ ビ ãƒĒ テ ã‚Ŗ (capability) を 持 つ プ ロ ã‚ģ ゚ ) ぎ ãŋ が äŊŋ ᔍ で き る 。

å„Ē 先 åēĻ

そ れ ぞ れ ぎ ゚ ワ ッ プ 領 域 は é̘ (high) と äŊŽ (low) ぎ お ãĄ ら か ぎ å„Ē 先 åēĻ ã‚’ 持 つ 。 デ フ り ãƒĢ ト ぎ å„Ē 先 åēĻ ã¯ äŊŽ で あ る 。 äŊŽ い å„Ē 先 åēĻ ãŽ 領 域 ãĢ お い ãĻ 、 新 し い 領 域 は 古 い 領 域 よ り さ ら ãĢ äŊŽ い å„Ē 先 åēĻ ã‚’ 持 つ 。

swapflags が 設 厚 さ れ た も ぎ は 全 ãĻ é̘ い å„Ē 先 åēĻ ã¨ ãĒ り 、 デ フ り ãƒĢ ト よ り も é̘ い å„Ē 先 åēĻ ã‚’ 持 つ 。 äŊŋ ᔍ 者 は そ れ ら ãĢ 負 で ãĒ い 値 が 指 厚 で き る 。 大 き ãĒ 数 字 は é̘ い å„Ē 先 åēĻ ã‚’ 意 呺 す る 。

é̘ い å„Ē 先 åēĻ ãŽ 領 域 か ら 順 ãĢ ゚ ワ ッ プ ペ ãƒŧ ジ と し ãĻ äŊŋ ᔍ さ れ る 。 よ り äŊŽ い å„Ē 先 åēĻ ãŽ 領 域 を äŊŋ ᔍ す る 前 ãĢ よ り é̘ い å„Ē 先 åēĻ ãŽ 領 域 を äŊŋ い 切 る 。 も し äēŒ ã¤ äģĨ 上 ぎ 領 域 が 同 じ å„Ē 先 åēĻ ã‚’ 持 ãĄ 、 äŊŋ え る 中 で 一 į•Ē é̘ い å„Ē 先 åēĻ ã§ あ れ ば 、 そ れ ら ぎ ペ ãƒŧ ジ は 間 で ナ ã‚Ļ ãƒŗ ド ロ ビ ãƒŗ æ–š åŧ で 配 分 さ れ る 。

Linux 1.3.6 ãĢ お い ãĻ 、 ã‚Ģ ãƒŧ ネ ãƒĢ は 通 常 は こ れ ら ぎ čĻ 則 ãĢ åž“ ãŖ ãĻ い る 。 し か し 例 外 も 存 在 し ãĻ い る 。

čŋ” り 値

成 功 し た å ´ 合 は 0 が čŋ” さ れ る 。 エ ナ ãƒŧ ぎ å ´ 合 は -1 が čŋ” さ れ 、 errno が 遊 切 ãĢ 設 厚 さ れ る 。

エ ナ ãƒŧ

EBUSY

( swapon () ãĢ お い ãĻ ) 指 厚 さ れ た path が æ—ĸ ãĢ ゚ ワ ッ プ 領 域 と し ãĻ äŊŋ ᔍ さ れ ãĻ い る 。

EINVAL

フ ã‚Ą イ ãƒĢ path は 存 在 す る が 、 通 常 ぎ フ ã‚Ą イ ãƒĢ も ブ ロ ッ ク デ バ イ ゚ も 参 į…§ し ãĻ い ãĒ い 。

EINVAL

( swapon ()) 指 厚 さ れ た パ ゚ が 有 劚 ãĒ ゚ ワ ッ プ ぎ įŊ˛ 名 (signature) を åĢ ん で い ãĒ い か 、 tmpfs (5) ぎ よ う ãĒ イ ãƒŗ ãƒĄ ãƒĸ ãƒĒ ãƒŧ フ ã‚Ą イ ãƒĢ ã‚ˇ ゚ テ ム 上 ãĢ あ る 。

EINVAL (Linux 3.4 äģĨ 降 )

( swapon ()) swapflags ãĢ į„Ą 劚 ãĒ フ ナ グ 値 が 指 厚 さ れ た 。

EINVAL

( swapoff ()) path が įž 在 ゚ ワ ッ プ 領 域 で は ãĒ い 。

ENFILE

ã‚Ē ãƒŧ プ ãƒŗ さ れ た フ ã‚Ą イ ãƒĢ ぎ įˇ 数 が ã‚ˇ ゚ テ ム 全 äŊ“ ぎ 上 限 ãĢ 達 し ãĻ い た 。

ENOENT

フ ã‚Ą イ ãƒĢ path が 存 在 し ãĒ い 。

ENOMEM

゚ ワ ッ プ を 開 始 す る ぎ ãĢ 十 分 ãĒ ãƒĄ ãƒĸ ãƒĒ ãƒŧ が ã‚ˇ ゚ テ ム ãĢ ãĒ い 。

EPERM

äŊŋ ᔍ 者 が CAP_SYS_ADMIN ã‚ą ãƒŧ パ ビ ãƒĒ テ ã‚Ŗ を 持 ãŖ ãĻ い ãĒ い 。 も し く は 、 最 大 数 ぎ ゚ ワ ッ プ フ ã‚Ą イ ãƒĢ が す で ãĢ äŊŋ ᔍ さ れ ãĻ い る (下 記 ぎ 「 æŗ¨ 意 」 ぎ ᝀ を 参 į…§ )。

æē– 拠

こ れ ら ぎ é–ĸ 数 は Linux į‰š 有 で あ り 、 į§ģ 植 を 意 固 し た プ ロ グ ナ ム で は äŊŋ ᔍ し ãĻ は い け ãĒ い 。 äēŒ į•Ē į›Ž ぎ swapflags åŧ• 数 は Linux 1.3.2 か ら 導 å…Ĩ さ れ た 。

æŗ¨ 意

パ ãƒŧ テ ã‚Ŗ ã‚ˇ ョ ãƒŗ や パ ゚ は mkswap (8) ãĢ よ ãŖ ãĻ æē– 備 さ れ ãĻ い ãĒ け れ ば ãĒ ら ãĒ い 。

äŊŋ ᔍ で き る ゚ ワ ッ プ フ ã‚Ą イ ãƒĢ ぎ 数 ãĢ は 上 限 が あ り 、 そ ぎ 上 限 は ã‚Ģ ãƒŧ ネ ãƒĢ 厚 数 MAX_SWAPFILES で 厚 įžŠ さ れ る 。 MAX_SWAPFILES ぎ 値 は 、 ã‚Ģ ãƒŧ ネ ãƒĢ 2.4.10 よ り 前 で は 8、 ã‚Ģ ãƒŧ ネ ãƒĢ 2.4.10 äģĨ 降 で は 32 で あ る 。 ã‚Ģ ãƒŧ ネ ãƒĢ 2.6.18 äģĨ 降 で は 、 ã‚Ģ ãƒŧ ネ ãƒĢ が CONFIG_MIGRATION ã‚Ē プ ã‚ˇ ョ ãƒŗ を 有 劚 ãĢ し ãĻ äŊœ 成 さ れ た å ´ 合 、 こ ぎ 上 限 が 2 少 ãĒ い 値 (つ ぞ り 30) と ãĒ る (こ ぎ ã‚Ģ ãƒŧ ネ ãƒĢ で は 、 mbind (2) と migrate_pages (2) ぎ ペ ãƒŧ ジ マ イ グ ãƒŦ ãƒŧ ã‚ˇ ョ ãƒŗ 抟 čƒŊ ᔍ ãĢ ゚ ワ ッ プ テ ãƒŧ ブ ãƒĢ ぎ エ ãƒŗ ト ãƒĒ ãƒŧ が äēŒ ã¤ äēˆ į´„ さ れ る )。 ã‚Ģ ãƒŧ ネ ãƒĢ 2.6.32 äģĨ 降 で は 、 ã‚Ģ ãƒŧ ネ ãƒĢ が CONFIG_MEMORY_FAILURE ã‚Ē プ ã‚ˇ ョ ãƒŗ を 有 劚 ãĢ し ãĻ äŊœ 成 さ れ た å ´ 合 、 こ ぎ 上 限 が さ ら ãĢ 1 少 ãĒ い 値 と ãĒ る 。

゚ ワ ッ プ ペ ãƒŧ ジ ぎ į ´ æŖ„ は 、 ã‚Ģ ãƒŧ ネ ãƒĢ 2.6.29 で 導 å…Ĩ さ れ 、 そ ぎ 垌 ã‚Ģ ãƒŧ ネ ãƒĢ 2.6.36 で SWAP_FLAG_DISCARD フ ナ グ が 指 厚 さ れ た å ´ 合 ãĢ だ け 原 行 さ れ る よ う ãĢ ãĒ ãŖ た が 、 äģŠ ã§ も 、 こ ぎ フ ナ グ ビ ッ ト が 指 厚 さ れ ãĻ い ãĒ い å ´ 合 で あ ãŖ ãĻ も 、 swapon が å‘ŧ ãŗ å‡ē さ れ た 際 ãĢ ゚ ワ ッ プ 領 域 全 äŊ“ ぎ į ´ æŖ„ が 行 わ れ る 。

é–ĸ 逪 項 į›Ž

mkswap (8), swapoff (8), swapon (8)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。