5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【覚書き】freeコマンドでメモリ状況を見る

Posted at

初めに

前回はこちらの記事でtopコマンドでcpu使用率の見方についてアウトプットしました。今回はそれの関連でfreeコマンドを用いてメモリの利用状況を確認しようと思います。

freeコマンドとは

freeコマンドとは、メモリの使用状況を確認するコマンドのこと。

実行してみた

実際にfreeコマンドを実行してみた結果がこちら

$ free
               total        used        free      shared  buff/cache   available
Mem:        16249112      516748    14813188        3096      919176    15460688
Swap:        4194304           0     4194304

このままだと読みづらいので、-hをつけて見やすくします。

$ free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       492Mi        14Gi       3.0Mi       367Mi        14Gi
Swap:          4.0Gi          0B       4.0Gi

単位もついて見やすくなってくれたところで解説します。

1行目と2行目でそれぞれメモリ領域とSWAP領域のメモリ使用量を表しています。
各列の説明は以下です。

  • total:合計メモリ量
  • used:現在使用中のメモリ量
  • free:現在使われていないメモリ量
  • shared:tmpfsで使用される共有メモリで使用しているメモリ量
  • buff/cache:ファイルバッファとキャッシュメモリに使われているメモリ長
  • available:プロセスが利用できるメモリ量

freeとavailableの違いですが、freeが完全に利用されていないメモリ量を表すのに対し、availableは今すぐに利用可能なメモリ量を表します。buff/cacheのメモリは「開放不可」の領域と「開放可能」な領域に分けられており、availableの値は、freeのメモリ量に加えてbuff/cacheの「開放可能」なメモリ量を含んだ値になっているというわけです。

tmpfsとは、linuxで使える一時的にデータを格納するために使えるファイルシステムのことらしいです。shredの値はそのメモリ量を表しています。

SWAP領域とは、ストレージ上に作成される仮想的なメモリ領域のことで、メモリ領域が足りなくなったときに初めて使われる領域です。
メモリ領域に余裕があるのでswapのusedは0になってますね。

オプション集

-h :見やすい形式で表示する

hはhumanの略です。人間がわかりやすい形に整形して表示してくれます。

$ free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       492Mi        14Gi       3.0Mi       367Mi        14Gi
Swap:          4.0Gi          0B       4.0Gi

-s :一定時間間隔で出力する

-sをつけることで一定時間間隔で出力することができます。
3秒おきに計測した結果が以下です。
ctrl + cで終了します。

$ free -h -s 3
               total        used        free      shared  buff/cache   available
Mem:            15Gi       514Mi        14Gi       3.0Mi       963Mi        14Gi
Swap:          4.0Gi          0B       4.0Gi

               total        used        free      shared  buff/cache   available
Mem:            15Gi       514Mi        14Gi       3.0Mi       963Mi        14Gi
Swap:          4.0Gi          0B       4.0Gi

               total        used        free      shared  buff/cache   available
Mem:            15Gi       514Mi        14Gi       3.0Mi       963Mi        14Gi
Swap:          4.0Gi          0B       4.0Gi

^C
$

-t :列の合計を表示する

-tをつけると各列の合計を出してくれます。
元が2行な上にswapはメモリがいっぱいになるまで使用されないので使う場面あまりなさそうな気が。

$ free -t
               total        used        free      shared  buff/cache   available
Mem:        16249112      526152    14736516        3144      986444    15450024
Swap:        4194304           0     4194304
Total:      20443416      526152    18930820

終わりに

今回はfreeコマンドを用いたメモリ状況の確認方法についてアウトプットしました。
正直topコマンドでも見れないか?って思ったのは内緒です。
Webパフォーマンスを改善していく中で実際に使ってみるとその辺の使い分けが見えてくるかもなので、その時はまたアウトプットします。

参考

Linuxのfreeコマンドでサーバーのメモリ状況を確認する
free - システムの使用中のメモリ量や空きメモリ量を表示する
ITエンジニアの豆知識 メモリのSWAPホントに理解してる…?
【Linux運用経験者が語る】freeコマンドの見方とは?
tmpfs とは

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?