【CentOS Stream 9】スワップ領域を作成する

CentOS Stream 9

 

Linuxシステムで物理メモリが足りなくなったとき、スワップ領域があると役立ちます。
スワップ領域はディスク上の一部を仮想メモリとして使用することで、システムのメモリ容量を拡張します。この記事はスワップ領域を作成する方法の覚え書きとなります。

スワップ領域の確認

まず、現在のスワップ領域の状況を確認します。
以下のコマンドを実行して、スワップ領域の情報を表示します。

# free -h
total used free shared buff/cache available
Mem: 7.5Gi 1.9Gi 4.9Gi 28Mi 1.0Gi 5.6Gi
Swap: 0B 0B 0B
#

 

スワップファイルの作成

ddコマンドを使用して、スワップファイルを作成します。
このコマンドは、/dev/zeroからゼロバイトのデータを読み取り、/swapfileに書き込むことで、1GB(1024MB)のスワップファイルを作成します。
仮にスワップを2GB追加したい場合は、1024を2048(1024*2=2048MB)に変更します。

# dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.800713 s, 1.3 GB/s
#

 

スワップファイルのアクセス権の変更

スワップファイルのアクセス権限を変更します。
スワップファイルはセキュリティ上の理由から、他のユーザーにアクセスされないようにする必要があります。

# chmod 600 /swapfile

 

スワップファイルをスワップ領域として設定

mkswapコマンドを使用して、スワップファイルをスワップ領域として設定します。

# mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=eb1ac6cf-9ef8-450d-b2ef-d15c0cf0b4b7

 

スワップファイルの有効化

作成したスワップファイルをシステムに有効化させるにはswaponコマンドを使用して、システムにスワップファイルを使用するように指定します。

# swapon /swapfile

 

スワップファイルの永続化

システム起動時にスワップファイルが自動的に有効化されるように、/etc/fstabファイルにエントリを追加します。
スワップファイルが永続化できていないと、サーバを再起動した際などにメモリ不足に気づかずアプリのクラッシュやデータの損失などが発生する可能性があるので、必ず永続化させる必要があります。

# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
/swapfile none swap sw 0 0

 

 最終確認

新しく作成されたスワップ領域が正しく設定されているか、スワップ領域の情報を表示して確認します。

[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 7.5Gi 1.9Gi 3.6Gi 28Mi 2.3Gi 5.6Gi
Swap: 1.0Gi 0B 1.0Gi
#

 

これでスワップ領域が作成され、システムがスワップ領域を使用するように設定されました。
今回の操作によりシステムのメモリ容量が拡張され、より多くのアプリケーションやプロセスを同時に実行できるようになります。
設定は以上です。お疲れ様でした。

コメント

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