ハードドライブ上のパーティションを使用して、Amazon EC2 インスタンスのスワップ領域として機能するようにメモリを割り当てるにはどうすればよいですか?

最終更新日: 2020 年 8 月 27 日

ハードドライブ上のパーティションを使用して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのスワップ領域として機能するようにメモリを割り当てたいと考えています。これを実行するにはどうすればよいですか?

簡単な説明

メモリをスワップ領域として割り当てるには、以下の手順を実行してください。

1.    スワップ領域のサイズを計算します。

2.    スワップ領域としてハードディスクにパーティションを作成します。

3.    スワップ領域を設定します。

スワップ領域として使用するスワップファイルを作成することもできます。詳細については、スワップファイルを使用して、Amazon EC2 インスタンスでスワップ領域として動作するようにメモリを割り当てる方法を教えてくださいを参照してください。

 

解決方法

スワップ領域のサイズを計算する

スワップ領域は、物理 RAM の 2 倍 (最大 2 GB の物理 RAM) にする必要があります。2 GB を超える場合は、物理 RAM を 1 倍追加します。スワップ領域は 32 MB 未満にしないでください。

システム RAM の量 推奨されるスワップ領域
2 GB 以下の RAM RAM 容量の 2 倍、ただし常に 32 MB を超える
2 GB 以上の RAM、ただし 32 GB 未満 4 GB + (RAM – 2 GB)
32 GB 以上の RAM RAM 容量の 1 倍

スワップ領域としてハードドライブにパーティションを作成する

1.    SSH を使用してインスタンスにログインします。

2.    利用可能なボリューム一覧を表示します。

$ sudo fdisk -l

3.    リストからパーティション化するデバイスを選択します。この例では、デバイス /dev/xvda を使用します。

$ sudo fdisk /dev/xvda

4.    新しいパーティションを作成します。

-> n

5.    パーティションタイプを選択します。この例では、プライマリを使用します。

-> p

6.    パーティション番号を割り当てます。この例では、パーティション 2 を使用します。

-> 2

7.    Enter キーを押して、デフォルトの [最初のセクター] を承認します。

8.    スワップファイルのサイズを入力します。この例では、2 GB の RAM があり、作成されたパーティションは 4 GB (+4G として指定) です。

-> +4G

9.    保存して終了します。

-> w

スワップ領域を設定する

1.    partprobe コマンドを使用して、パーティションテーブルの変更を OS に通知します。

$ partprobe

2.    前のステップで作成したスワップパーティションを使用して Linux スワップ領域を設定します。この例では、スワップパーティションは /dev/xvda2 です。

$ mkswap /dev/xvda2

3.    パーティションをスワップ領域として追加します。

$ sudo swapon /dev/xvda2

4.    現在のスワップ領域を表示します。

$ sudo swapon -s      

次のような出力が表示されます。

Filename                Type        Size      Used    Priority
/dev/xvda2              partition   4194300   0       -1

5.    再起動後、スワップメモリ割り当てを永続化してください。

$ sudo vim /etc/fstab
$ /dev/xvda2 none swap sw 0 0
$ reboot 

この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?