目次

この記事の目次です。

1. swap(スワップ)領域とは
2. Linuxのswap領域のサイズの確認方法
3. Linuxのswap領域の推奨サイズ
4. swap領域拡張の例
5. mkswapコマンド
6. swaponコマンド

更新履歴

1. swap(スワップ)領域とは

swap(スワップ)領域とは、メモリを実際よりも大きくするために使用するファイルシステム上の領域のことをいいます。 コンピュータでは、実際の実メモリとスワップ領域を組み合わせた仮想メモリをメモリとして使用します。 実メモリが不足したときに、一時的にメモリの内容を書き込んでおくファイルをスワップファイル、スワップ領域といいます。

2. Linuxのswap領域のサイズの確認方法

swaponコマンド、freeコマンド、meminfoファイル、topコマンドなどで、Linuxのswap領域のサイズの確認できます。

swaponコマンドでLinuxのswap領域のサイズを確認する例

以下は、swaponコマンドでLinuxのswap領域のサイズを確認する例です。

$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       4063228 0       -2

freeコマンドでLinuxのswap領域のサイズを確認する例

以下は、freeコマンドでLinuxのswap領域のサイズを確認する例です。

$ free | grep Swap
Swap:       4063228           0     4063228

meminfoファイルでLinuxのswap領域のサイズを確認する例

以下は、meminfoファイルでLinuxのswap領域のサイズを確認する例です。

$ cat /proc/meminfo | grep Swap
SwapCached:            0 kB
SwapTotal:       4063228 kB
SwapFree:        4063228 kB

topコマンドでLinuxのswap領域のサイズを確認する例

以下は、topコマンドでLinuxのswap領域のサイズを確認する例です。

$ top | grep Swap
KiB Swap:  4063228 total,  4063228 free,        0 used.  2589404 avail Mem

3. Linuxのswap領域の推奨サイズ

Linuxのswap領域の推奨サイズは以下です。

RAM容量 推奨サイズ
2GB以下 RAM容量の2倍
2GB~8GB RAM容量と同じ
8GB以上 最低4GB

4. swap領域拡張の例

スワップ領域拡張の例です。 Linuxのスワップ領域のサイズをmkswap、swaponコマンドを使用して拡張する手順をまとめています。

例では、swapfileaddというファイル名の2Gのスワップを追加しています。 名前を変更すれば、もう2G追加というように行えます。 この手順はLinux全般で使える手順です。 CentOS7の実施例になっていますが、Amazon Linuxなどでも実績があります。

スワップファイル(swap領域拡張に使用するファイル)作成

swap領域拡張に使用するファイル作成します。 このファイルはスワップファイルともいいます。 少し時間がかかる場合があります。

# dd if=/dev/zero of=/swapfileadd bs=1024K count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 182.299 s, 11.8 MB/s

スワップファイルのアクセス権限設定

作成したスワップファイルのアクセス権限を設定します。

# chmod 600 /swapfileadd

スワップファイルをフォーマット

mkswapコマンドで、作成したスワップファイルをフォーマットします。

# mkswap /swapfileadd
Setting up swapspace version 1, size = 2097148 KiB

ファイルをスワップ領域に追加

swaponコマンドで、ファイルをスワップ領域にスワップファイルを追加して、スワップ領域のサイズを拡張します。

# swapon /swapfileadd

スワップ領域のサイズが拡張されたか確認

swaponコマンドで、スワップ領域のサイズが拡張されたか確認できます。

# swapon -s
Filename                                Type            Size    Used    Priority
/swapfileadd                               file    2097148 0       -1

/etc/fstabの設定

CentOS7の起動時に自動でスワップが追加されるよう/etc/fstabに設定をします。

#vi /etc/fstab
:
/swapfileadd               swap                    swap    defaults        0 0

さらにスワップ領域を追加したい場合

上記手順のswapfileaddを別名に変更すれば、再度追加できます。

5. mkswapコマンド

以下は、mkswapコマンドのユーセージになります。

device引数は、通常はディスクパーティション(/ devの/ sdb7のようなもの)になりますが、ファイルすることができます。
LinuxカーネルはパーティションIDを見ていませんが、多くのインストールスクリプトは、前提としていますそのヘクスのパーティション
タイプ82(LINUX_SWAP)はスワップパーティションであることを意味しています。 (警告:Solarisのもこのタイプを使用しています注意しないこと。
Solarisのパーティションを殺すために。)

サイズパラメータは不必要であるが、後方互換性のために残さ。 (これは、所望のサイズを指定します
1024バイトのブロック内のスワップ領域。それが省略された場合ます。mkswapはパーティション全体またはファイルを使用します。指定
それは賢明ではありません - タイプミスはあなたのディスクを破壊する場合があります)。

スワップ領域を作成した後、あなたはそれを使用して開始するにはswaponコマンドが必要です。通常に記載されている領域をスワップ
の/ etc / fstabに、彼らはいくつかのブートスクリプト内のコマンドの-aのswaponにより、ブート時に使用されるように撮影することができますように。

-c、--check
(それはブロックデバイスである場合)スワップ領域を作成する前に不良ブロックするための装置を確認してください。任意の悪い場合
ブロックは、カウントが印刷され、発見されました。

-f、--force
コマンドは愚かであっても、先に行きます。これは、ファイルよりもスワップ領域の作成が大きいことができます
または、それが常駐するパーティション。

また、このオプションを使用せずに、ます。mkswapはパーティションを持つデバイス上の最初のブロックを消去することを拒否しますトゥイーター
BLE。

-L、--labelラベル
ラベルではswaponを可能にするために、デバイスのラベルを指定します。

-p、--pagesizeサイズ
使用するページサイズ(バイト単位)を指定します。このオプションは通常不要です。ます。mkswapはサイズを読み取り
カーネルから。

-U、--uuid UUID
使用するUUIDを指定します。デフォルトでは、UUIDを生成することです。

-v、--swapversion 1
スワップ空間のバージョンを指定します。古い-v 0オプションになっているように(このオプションは、現在無意味です
廃止されたと今だけ-v 1がサポートされています。カーネルは、以来、V0スワップ空間のフォーマットをサポートしていません
2.5.22(2002年6月)。新しいバージョンv1が2.1.117(1998年8月)以降でサポートされています。)

-h、--help
ヘルプの表示テキストと終了します。

-V、--version
バージョン情報を表示して終了。

6. swaponコマンド

以下は、swaponコマンドのユーセージになります。

swaponコマンドは、ページングとスワッピングが起こるようにされているデバイスを指定するために使用されます。

使用するデバイスまたはファイルがspecialfileパラメータで指定されています。これは、フォーム-Lラベルまたは-UのUUIDへのものであってもよいです
ラベルまたはUUIDによってデバイスを示しています。

pag-ように、すべてのスワップ・デバイスを利用できるようにするシステムのブートスクリプトで発生し、通常はswaponの呼び出し
るとスワッピングの活動は、複数のデバイスやファイル間でインターリーブされます。

するswapoffは指定されたデバイスやファイルのスワッピングを無効にします。 -aフラグが指定された場合、スワッピングが無効になっています
(は/ proc /スワップまたは/ etc / fstabに見られるような)すべての既知のスワップデバイスやファイルに。

-a、--all
``スワップ」としてマークされたすべてのデバイス ''の/ etc / fstabには、 `` noautoを持つものを除き、利用可能になります」
オプション。すでにスワップとして使用されているデバイスは、黙ってスキップされます。

-d、--discard [=ポリシー]
スワップバッキングデバイスが廃棄またはトリム操作をサポートしている場合、スワップ破棄を有効にします。これはよいです
いくつかのソリッドステートデバイスでのパフォーマンスを向上させるが、しばしばそれはしていません。オプションは1つが選択できます
--discard =一度シングルタイム廃棄操作を実行するには、次の2つの利用可能なスワップ破棄ポリシーの間
swaponコマンドで全体のスワップ領域のため、彼らは前に解放されたスワップページを廃棄するか、--discard =ページ
スワップながら、再利用されます。ポリシーが選択されていない場合、デフォルトの動作は有効両方破棄することです
タイプ。の/ etc / fstabに、オプションは破棄マウント一度=破棄、または=ページを有効にするためにも使用されてもよい捨てます
フラグを破棄します。

-e、--ifexists
サイレント存在しないデバイスをスキップします。の/ etc / fstabにもスキップするために使用することができるオプションのnofailマウント
デバイスの存在しません。

-f、--fixpgsz
再初期化(幹部/ sbinに/ます。mkswap)スワップ空間のページサイズは、現在のものと一致しない場合
カーネルを実行しています。ます。mkswap(2)は、装置全体を初期化し、不良ブロックをチェックしません。

-h、--help
ヘルプを提供。

-Lラベル
指定されたラベルを持つパーティションを使用してください。 (このために、/ procの/パーティションへのアクセスが必要となります。)

-p、--priorityの優先順位
スワップデバイスの優先順位を指定します。優先順位は-1と32767より高い数値の間の値であります
高い優先度を示しています。スワップ優先順位の完全な説明については、swapon(2)を参照してください。にPRI =値を追加します。
swaponコマンドの-aで使用するための/ etc / fstabファイルのオプションフィールド。優先順位は-1にそれをデフォルト値を定義されていないとき。

-s、--summary
デバイスによる表示スワップの使用量の要約。 "猫の/ proc /スワップ」に相当します。 Linuxの前には使用できません
2.1.25。

--show【コラム、コラム]
--summary出力のように定義可能なデバイステーブルを表示します。列リストのために--helpの出力を参照してください。

--noheadings
--show出力を表示するときに見出しを表示しません。

--rawは、表の列を整列させることなく、出力を--show表示します。

--bytes
代わりに、ユーザーフレンドリーなサイズとユニットの--show出力でバイト単位で表示スワップサイズ。 -U UUIDが使用します
指定されたUUIDを持つパーティション。

-v、--verbose
冗長に。

-V、--version
バージョン情報を表示します。

更新履歴

更新履歴になります。

トップ技術データベーススワップ領域