メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

インスタンスストアスワップボリューム

Linux のスワップ空間は、システムで物理的に割り当てられたよりも多くのメモリを必要とする場合に使用できます。スワップ空間を有効にすると、Linux システムは頻繁に使用されないメモリページを物理メモリからスワップ空間 (既存のファイルシステムの専用パーティションまたはスワップファイル) にスワップし、高速なアクセスを必要とするメモリページのためにその空間を解放します。

注記

スワップ空間をメモリページングに使用しても、RAM 使用時ほど高速でも効率的でもありません。スワップ空間に定期的にメモリをページングするワークロードの場合は、RAM が多くサイズの大きいインスタンスタイプに移行することを検討してください。詳細については、「インスタンスのサイズ変更」を参照してください。

c1.medium およびm1.small インスタンスタイプで使用できる物理メモリの量には制限があり、起動時に Linux AMI の仮想メモリとして機能するために 900 MiB のスワップボリュームが与えられます。Linux カーネルはこのスワップ空間をルートデバイス上のパーティションと見なしますが、実際にはルートデバイスタイプにかかわらず、別のインスタンスストアボリュームです。

Amazon Linux AMI は自動的にこのスワップ空間を有効にして使用しますが、AMI では、このスワップ空間を認識して使用するために、追加のステップが必要になる場合があります。インスタンスがスワップ空間を使用しているかどうか確認するには、swapon -s コマンドを使用できます。

Copy
[ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

上記のインスタンスには、900 MiB のスワップボリュームがアタッチされ、有効になっています。このコマンドでスワップボリュームが表示されない場合は、そのデバイスに対してスワップ空間を有効しなければならない可能性があります。利用可能なディスクは、lsblk コマンドを使用して確認します。

Copy
[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk

ここで、スワップボリューム xvda3 はインスタンスで利用できますが、有効になっていません (MOUNTPOINT フィールドが空です)。スワップボリュームは swapon コマンドを使って有効にできます。

注記

lsblk でリストされるデバイス名の先頭に /dev/ を付加する必要があります。デバイスは、sda3sde3xvde3 など、異なる名前になる場合があります。システムのデバイス名は、次のコマンドで使用します。

Copy
[ec2-user ~]$ sudo swapon /dev/xvda3

これで、スワップ空間が lsblk および swapon -s 出力に表示されます。

Copy
[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP] [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

また、システムを起動するたびにこのスワップ空間が自動的に有効になるように、/etc/fstab ファイルを編集する必要もあります。

Copy
[ec2-user ~]$ sudo vim /etc/fstab

(システムの swap デバイス名を使用して) 次の行を /etc/fstab ファイルに追加します。

/dev/xvda3       none    swap    sw  0       0

To use an instance store volume as swap space

Any instance store volume can be used as swap space. For example, the m3.medium instance type includes a 4 GB SSD instance store volume that is appropriate for swap space. If your instance store volume is much larger (for example, 350 GB), you may consider partitioning the volume with a smaller swap partition of 4-8 GB and the rest for a data volume.

注記

This procedure applies only to instance types that support instance storage. For a list of supported instance types, see インスタンスストアボリューム.

  1. List the block devices attached to your instance to get the device name for your instance store volume.

    Copy
    [ec2-user ~]$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /

    In this example, the instance store volume is /dev/xdvb. Because this is an Amazon Linux instance, the instance store volume is formatted and mounted at /media/ephemeral0; not all Linux operating systems do this automatically.

  2. (Optional) If your instance store volume is mounted (it will list a MOUNTPOINT in the lsblk command output), you need to unmount it with the following command.

    Copy
    [ec2-user ~]$ sudo umount /dev/xvdb
  3. Set up a Linux swap area on the device with the mkswap command.

    Copy
    [ec2-user ~]$ sudo mkswap /dev/xvdb mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
  4. Enable the new swap space.

    Copy
    [ec2-user ~]$ sudo swapon /dev/xvdb
  5. Verify that the new swap space is being used.

    Copy
    [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
  6. Edit your /etc/fstab file so that this swap space is automatically enabled at every system boot.

    Copy
    [ec2-user ~]$ sudo vim /etc/fstab

    If your /etc/fstab file has an entry for /dev/xvdb (or /dev/sdb) change it to match the line below; if it does not have an entry for this device, append the following line to your /etc/fstab file (using the swap device name for your system):

    /dev/xvdb       none    swap    sw  0       0

    重要

    Instance store volume data is lost when an instance is stopped; this includes the instance store swap space formatting created in ステップ 3. If you stop and restart an instance that has been configured to use instance store swap space, you must repeat ステップ 1 through ステップ 5 on the new instance store volume.