メモリリーク等でスワップ領域を使用してしまった時、スワップを使用していたプロセスを終了してもメモリデータはswap領域(ディスク)に存在します。
こういった場合に使うswap解放コマンドを紹介します。
対象OS
今回はCentOSを使用しました。
[root@cent74 ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
スワップ領域使用量の確認
freeコマンドでSwapのusedを確認することで、swap領域がどれくらい使われているかわかります。
以下の例だと3884[KB]使用していることになります。
[root@cent74 ~]# free
total used free shared buff/cache available
Mem: 65688352 4346908 55253224 28132 6088220 60608600
Swap: 8388604 3884 8384720
スワップ領域の解放コマンド
swapoffコマンドでスワップを無効にし、swapにあるデータをメモリに移動し、続けてswaponコマンドでスワップを有効に戻します。
[root@cent74 ~]# swapoff -a && swapon -a
スワップ領域が解放されていることを確認
再度freeコマンドで確認すると、Swapのusedが0になります。
[root@cent74 ~]# free
total used free shared buff/cache available
Mem: 65688352 4349256 55250452 28140 6088644 60608320
Swap: 8388604 0 8388604