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 -> この値は、新しいアプリがスワップせずに使える容量はどれくらいか。といった値を示しているようです

ota42y.com

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がよしなにやってくれてる領域で、プロセスから必要になったら解放してくれる。 って認識で合ってるのかな。