Linuxシステムで物理メモリが足りなくなったとき、スワップ領域があると役立ちます。
スワップ領域はディスク上の一部を仮想メモリとして使用することで、システムのメモリ容量を拡張します。
この記事はスワップ領域を作成する方法の覚え書きとなります。
スワップ領域の確認
まず、現在のスワップ領域の状況を確認します。
以下のコマンドを実行して、スワップ領域の情報を表示します。
1 2 3 4 5 |
# 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)に変更します。
1 2 3 4 5 |
# 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 # |
スワップファイルのアクセス権の変更
スワップファイルのアクセス権限を変更します。
スワップファイルはセキュリティ上の理由から、他のユーザーにアクセスされないようにする必要があります。
1 |
# chmod 600 /swapfile |
スワップファイルをスワップ領域として設定
mkswapコマンドを使用して、スワップファイルをスワップ領域として設定します。
1 2 3 |
# mkswap /swapfile Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=eb1ac6cf-9ef8-450d-b2ef-d15c0cf0b4b7 |
スワップファイルの有効化
作成したスワップファイルをシステムに有効化させるにはswaponコマンドを使用して、システムにスワップファイルを使用するように指定します。
1 |
# swapon /swapfile |
スワップファイルの永続化
システム起動時にスワップファイルが自動的に有効化されるように、/etc/fstabファイルにエントリを追加します。
スワップファイルが永続化できていないと、サーバを再起動した際などにメモリ不足に気づかずアプリのクラッシュやデータの損失などが発生する可能性があるので、必ず永続化させる必要があります。
1 2 |
# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab /swapfile none swap sw 0 0 |
最終確認
新しく作成されたスワップ領域が正しく設定されているか、スワップ領域の情報を表示して確認します。
1 2 3 4 5 |
# 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 # |
これでスワップ領域が作成され、システムがスワップ領域を使用するように設定されました。
今回の操作によりシステムのメモリ容量が拡張され、より多くのアプリケーションやプロセスを同時に実行できるようになります。
設定は以上です。お疲れ様でした。
コメント