[Linux]キャッシュを確認、解放する

2021年7月10日土曜日

Linux

Linuxを使っていて動作が重く感じたことはありませんか?
今回はそんな時に使えるキャッシュの解放の方法を記載します



結論


# ページキャッシュの確認(-m : megabyteで表示)
$ free -m 
              total        used        free      shared  buff/cache   available
Mem:          32106        8562         926         214       22616       22872
Swap:          2047           0        2047

単位付きで表示したい場合は -h オプションを付けると確認しやすいです。
# ページキャッシュの確認(-h : humanが読みやすい値で表示)
$ free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        8.4G        909M        235M         22G         22G
Swap:          2.0G          0B        2.0G

上記でキャッシュの状態が確認できます。
buff/cacheの値がキャッシュしているメモリサイズとなります。
今回は 22G Byteキャッシュされています。

詳細に知りたい場合は-m オプションを、
ざっくりと読みやすい値を表示したい場合は -h オプションをお勧めします


次にキャッシュを解放していきます

# 1:ページキャッシュ
# 2:Slabキャッシュ
# 3:ページキャッシュとSlabキャッシュ
$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"

# 再度キャッシュの状態を確認
$ free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        8.4G         22G        245M        973M         22G
Swap:          2.0G          0B        2.0G


buff/cacheの値がすっきりしたことが分かります。 


参考までにfree コマンドのその他のオプションは下記となります。
# 1:ページキャッシュ
$ free --help

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
     --kilo          show output in kilobytes
     --mega          show output in megabytes
     --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes
 -k, --kibi          show output in kibibytes
 -m, --mebi          show output in mebibytes
 -g, --gibi          show output in gibibytes
     --tebi          show output in tebibytes
     --pebi          show output in pebibytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see free(1).

AIで副業ならココから!

まずは無料会員登録

プロフィール

メーカーで研究開発を行う現役エンジニア
組み込み機器開発や機会学習モデル開発に従事しています

本ブログでは最新AI技術を中心にソースコード付きでご紹介します


Twitter

カテゴリ

このブログを検索

ブログ アーカイブ

TeDokology