Amazon Linux 2023 仮想メモリ割当手順

Linux Server

t2.micro(Amazon Linux 2023)環境では物理メモリ1Giga Byteしかないため、同時アクセスが多いサイトを立てる場合、一時的に物理メモリが不足に陥ってWordpressが異常終了します。これを回避するには物理メモリの増設方法がありますが、毎月のawsからの請求額が増えてしまいます。この記事ではSwapメモリを使用して一時的に物理メモリのデータを保存し、メモリ増設と同様の効果を得られるSwapメモリ設定手順をまとめました。

【補足 Swapメモリ】
物理メモリと統合的に管理されます。システムは、より頻繁にアクセスされるデータを物理メモリに保持し、アイドル状態のデータをSwapメモリに配置することで、最適なパフォーマンスを実現します。これにより、メモリの使用効率が向上します。

SWAPメモリ拡張手順

既存のRAM 1Gに仮想メモリを2G増やすことで、合計3GのRAMを持っているようにソフトウェアを動作させることができます。これにより、同時に大量のWebアクセスが発生しない限り、データベースにアクセスするプロセッサが停止するのはなかなか起こらないと考えられます。

この記事で紹介する仮想メモリの拡張手順はCentOS 7でも確認されています。

現在のメモリの確認

次のfreeコマンドとdfコマンドを実行して、swap メモリとディスクの空き容量、使用量を確認します。

AWSが提供するAmazon EC2(Elastic Compute Cloud)初期1年無料t2.microのLinux環境を構築してワードプレスをインストール、ブログを開始したときの初期状態はswapメモリがSwap: 0 0 0なっていてなにも割り当てられていません。

$ free
        total   used  free shared buff/cache available
Mem:   972644 464180 73424  56204     435040    288452
Swap:       0      0     0

Linuxシステム上のdfコマンドでSwapメモリ割当前のディスク使用状況を表示します。

$ df
Filesystem   1K-blocks    Used Available Use% Mounted on
devtmpfs          4096       0      4096   0% /dev
tmpfs           486320       0    486320   0% /dev/shm
tmpfs           194532    2864    191668   2% /run
/dev/xvda1     8310764 3307744   5003020  40% /
tmpfs           486324       0    486324   0% /tmp
tmpfs            97264       0     97264   0% /run/user/1000
/dev/xvda128     10202    1308      8894  13% /boot/efi

Swapメモリの割当

/swapfileという名前のファイルを作成し、その中身をゼロで埋めます。なお、ブロックサイズ(64メガバイト)*32ブロック = 2Gyte SSDメモリをRAMのように使う為、次のコマンドでSwapメモリを割当します。

$ sudo dd if=/dev/zero of=/swapfile bs=64M count=32
32+0 records in
32+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 32.1526 s, 66.8 MB/s

/swapfileに対してアクセス権を設定します。
600は所有者に読み取りおよび書き込みの権限を与え、他のユーザーにはアクセス権を与えないことを意味します。

$ sudo chmod 600 /swapfile

swapfileをSwap領域として使用するためにフォーマットします。

$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=20121ed2-e71c-4ee4-b757-a6dcaf921874

Swapファイルを有効化します。

$ sudo swapon /swapfile

システムに現在有効なSwap領域の一覧を表示します。

$ sudo swapon -s
Filename   Type  Size      Used    Priority
/swapfile  file  2097148   0       -2

「Linuxコンピュータの起動時のマウント情報」を保存している/etc/fstabファイルに/swapfile情報を追加する必要があります。追加しないと、再起動時に上記で設定した/swapfileが認識されないことになります。

$ sudo vi /etc/fstab
#
UUID=974bfdce-a279-4e16-b3a4-114c0f95708b     /           xfs    defaults,noatime  1   1
UUID=CE90-017B        /boot/efi       vfat    defaults,noatime,uid=0,gid=0,umask=0077,shortname=winnt,x-systemd.automount 0 2

以下を最後尾に追加します。

/swapfile swap swap defaults 0 0

増設結果の確認

Linuxシステム上のfreeコマンドでシステムの物理メモリ(RAM)とSwapメモリの使用状況を表示します。
ここではSwapメモリが「total:2097148 usered:0 free:2097148」にて割り当てられていることを確認できます。

$ free
        total   used    free shared buff/cache available
Mem:   972644 454000   94468  56204     424176    303368
Swap: 2097148      0 2097148

Linuxシステム上のdfコマンドでLinuxシステム上のディスク使用状況を表示します。ここではSSDメモリ2GByteをswapメモリに設定したのでUse%(ディスク使用量)の値がSwapメモリ作成前の40%から66%使用に変わったことを確認できます。

$ df
Filesystem   1K-blocks    Used Available Use% Mounted on
devtmpfs          4096       0      4096   0% /dev
tmpfs           486320       0    486320   0% /dev/shm
tmpfs           194532    2864    191668   2% /run
/dev/xvda1     8310764 5405232   2905532  66% /
tmpfs           486324       0    486324   0% /tmp
tmpfs            97264       0     97264   0% /run/user/1000
/dev/xvda128     10202    1308      8894  13% /boot/efi

コメント

タイトルとURLをコピーしました