スワップ領域は、Oracle Solaris OS ソフトウェアやアプリケーションソフトウェアが一時的なストレージとして使用できる、ディスクの予約領域です。スワップ領域は、実行されている現在のプロセスを処理するだけの十分な物理メモリーがシステムにない場合に、仮想メモリーストレージ領域として使用されます。Oracle Solaris 10 の UFS ルート環境では、スワップデバイスおよびダンプデバイスに対して 1 つのディスクスライスが提供されます。Oracle Solaris 11 では、2 つの個別のボリュームがスワップデバイスとダンプデバイスとして作成されます。ZFS ルートファイルシステムの場合、スワップ用に予約されるディスク領域は、ZFS ボリュームになります。これらの情報を表示するには、dumpadm コマンドを次のように使用します。
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 182,2 8 4061176 4061176
スワップとダンプのボリューム名およびサイズの情報を次のように表示します。
# zfs list -t volume -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool/dump 4.13G 51.6G 4.00G - rpool/swap 4.13G 51.6G 4.00G -
次の例に示すように、スワップ領域のサイズを人間が読むことのできる形式で表示できます。
# swap -sh total: 1.4G allocated + 227M reserved = 1.6G used, 432G available # swap -lh swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 285,2 8K 4.0G 4.0G
ZFS のスワップボリュームおよびダンプボリュームの管理方法は、UFS のスワップデバイスおよびダンプデバイスの単一スライスの管理方法とは次の点で異なります。
ZFS ルート環境では、スワップデバイスおよびダンプデバイスの両方のために単一ボリュームを使用することはできません。
ZFS ルート環境では、ファイルをスワップデバイスとして使用することはできません。
ダンプデバイスのサイズは、物理メモリーのおよそ 1/2 から 3/4 であることがシステムによって要求されます。ダンプデバイスが小さすぎる場合、次のようなエラーが表示されます。
# dumpadm -d /dev/zvol/dsk/rpool/dump dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump dump size 36255432704 bytes, device size 34359738368 bytes
次の例に示すように、ダンプデバイスのサイズはボリュームの volsize プロパティーを増やすことによって簡単に大きくできますが、そのボリュームの再初期化に時間がかかることがあります。
# zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 1.94G local # zfs set volsize=3g rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 3G local
スワップデバイスが使用中の場合は、スワップボリュームのサイズを変更することは困難です。次のように、2 つ目のスワップボリュームを作成して、スワップデバイスとして追加することを検討してください。
# zfs create -V 3G rpool/swap2 # swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 182,2 8 4061176 4061176 /dev/zvol/dsk/rpool/swap2 182,4 8 6291448 6291448
次に、新しいスワップデバイスのエントリを /etc/vfstab ファイルに追加します。例:
/dev/zvol/dsk/rpool/swap2 - - swap - no -
スワップ領域とダンプデバイスの構成の詳細は、Oracle Solaris 11.2 でのファイルシステムの管理 のスワップ空間についてを参照してください。