Linuxでswap領域をクリアする方法
メモリに空き容量がある場合
swapoff、swaponを使用します。
1 |
# swapoff -a && swapon -a |
swapoffはスワップ領域を無効にするコマンド、swaponはスワップ領域を有効にするコマンドです。
以下は本コマンド実行前後のvmstatの結果です。
swpdの値が0になっていることがわかります。
メモリのキャッシュ領域を解放させる
drop_cachesを使用します。
1 2 3 4 5 6 |
# sync # echo 3 > /proc/sys/vm/drop_caches # echo 2 > /proc/sys/vm/drop_caches # echo 1 > /proc/sys/vm/drop_caches # echo 0 > /proc/sys/vm/drop_caches |
echoで渡す値によって、クリアされる情報が異なります。
echoで渡す値 | 効果 |
---|---|
0 | デフォルト状態に戻す |
1 | ページキャッシュのクリア |
2 | Slabキャッシュ(※)のクリア |
3 | ページキャッシュとSlabキャッシュ(※)のクリア |
※Slabキャッシュはディレクトリのメタデータ情報を格納するdentryやファイルのメタデータ情報を格納するinode構造体などをキャッシュしているカーネル内のメモリ領域です。
引用元:http://www.atmarkit.co.jp/ait/articles/0810/01/news134_3.html
なお、Slabの値は
1 |
# cat /proc/meminfo |
の「Slab」の項目で確認できます。