freeコマンドでlinuxメモリの状態を確認する
サーバー管理上メモリの使用状況は非常に重要な点となるので
free
コマンドの使い方を整理しておく。
まずはとりあえず
free -h
で状態を見てみる
オプション * -m (メガバイトで表示) * -t スワップも表示 * -s 指定した秒で繰り返し表示 * -h とりあえずざっくり読みやすくしてくれる
$ free -h total used free shared buff/cache available Mem: 3.4G 531M 243M 168M 2.6G 2.3G Swap: 0B 0B 0B
ここで表してるもの Mem:列 total ->実メモリの容量
used -> 実メモリの使用量
free -> 実メモリの空き容量
shared -> 共有メモリ量
buff/cache -> (実メモリの used) - (buffers + cached )
avaliable -> この値は、新しいアプリがスワップせずに使える容量はどれくらいか。といった値を示しているようです
sharedは複数のプロセスで共有されてるメモリ領域 buffとcacheはその名の通りOSが確保しているバッファとキャッシュの領域。 なのでこの領域は事実上プロセスが確保できる領域のはず。
実際の使用メモリ量は
used - buffers - cached
実際の空きメモリ量は
free + buffers + cached
実運用上で最も見ることになるのはこの二つと思われ(保有しているメモリの量とプロセスが使えるメモリ量)
total buff/cache Mem: 3.4G 2.6G
メモ
バッファとキャッシュとは? www.math.kobe-u.ac.jp
Linux(っていうか UNIX かな?) では, 各プロセスにメモリを割り振った残りを バッファ(buffer)とキャッシュ(cache)に利用して, ディスク入出力の負荷を減らしている.
osがよしなにやってくれてる領域で、プロセスから必要になったら解放してくれる。 って認識で合ってるのかな。