PR

Linux swap領域の解放方法

スポンサーリンク
Linux

メモリリーク等でスワップ領域を使用してしまった時、スワップを使用していたプロセスを終了してもメモリデータは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