Linuxのswap

一昔前まで、メモリは非常に高価でありシステムは搭載されたメモリよりも多くの1次記憶領域を必要することがあった。
Linuxでは、メモリを仮想化してユーザプログラムへ多くのメモリ領域を持っているかのように振舞う。
この際、不足した領域をブロックディバイスの一部を利用することによって補う。これをスワップ領域という。


構築・インストール

スワップ領域は、パーティションを丸ごと一つ利用する方法と、ファイルシステム上に配置されたファイルを利用する方法とがある。
スワップ領域は、ファイルシステム等と同様に専用のフォーマットとして扱われており、以下のコマンドによって作成を行う。

# makeswap -c /dev/sda2

ファイルシステム上にスワップ領域を確保する場合は、先にddコマンドを用いてオール0のファイルを作成してから、この上にスワップ領域を構築する。
以下では、500MBのファイルを作成し、スワップ領域として構築している。

# dd if=/dev/zero of=/tmp/swap bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 24.3431 s, 21.5 MB/s
# mkswap -c /tmp/swap
Setting up swapspace version 1, size = 511996 KiB


設定・調整

オペレーティングシステムへスワップ領域を利用させるには、コマンド「swapon」を用いる。
以下では、スワップ領域として構築されたファイルを有効化している。

# swapon /tmp/swap

アクティブなスワップ領域は、コマンド「swapon -s」やシステムファイル「/proc/swaps」で確認できる。

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1048568 0       -1
/tmp/swap                               file            511992  0       -2

# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1048568 0       -1
/tmp/swap                               file            511992  0       -2

逆に無効にする場合は、コマンド「swapoff」を用いる。

# swapoff /tmp/swap

  • 最終更新:2009-12-12 19:05:24

このWIKIを編集するにはパスワード入力が必要です

認証パスワード