Linuxでのswap解放

はじめに

気がついたらswapを喰っていることがある

# top
top - 10:39:58 up 26 days, 16:25,  1 user,  load average: 0.80, 0.31, 0.20
Tasks: 132 total,   2 running, 130 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883152 total,    83772 free,  1363060 used,   436320 buff/cache
KiB Swap:  1048572 total,   957948 free,    90624 used.   315320 avail Mem 

この場合は90624 used.

memoryに抱えきれなかった領域がストレージにdumpされてしまったようだ。ストレージがSSDだったとしても遅いのだが、これがHDDだったりすると阿鼻叫喚だ。

まず先にやること

一時的にswapをオフにして、再度オンにする。

swapoff -a && swapon -a

ただし、swap outしている領域よりもmemoryが十分に空きがある必要がある。

他にもアプローチはあることはあるが、

これで解放できなかったらOS再起動を考えた方が手っ取り早い。