Linuxシステムを管理するうえで、メモリ使用量の確認はとても重要です。サーバーの負荷が高いときや動作が重くなったとき、「いまどれくらいのメモリが使われているのか」をすぐに知りたい場面があります。そんなとき役立つのが、free
コマンドです。特に-h
オプションを付けたfree -h
は、出力結果を人間にとって読みやすい単位(KB、MB、GBなど)で表示してくれるため、初心者にも扱いやすいのが特徴です。この記事では、free -h
コマンドの基本的な使い方から、出力結果の見方、応用的な活用方法までをわかりやすく解説します。
Linuxには、現在のメモリやスワップ領域の使用状況を表示するfree
というコマンドがあります。free
コマンドに-h
オプションをつけることで、「human readable(人が読める形式)」で情報を表示してくれます。
$ free -h
このコマンドを実行すると、以下のような出力が得られます。
total used free shared buff/cache available
Mem: 15Gi 2.3Gi 9.1Gi 145Mi 3.4Gi 12Gi
Swap: 2.0Gi 0.0Gi 2.0Gi
この結果を見れば、どれくらいのメモリが使われ、どれくらいが空いていて、バッファやキャッシュにどれだけ使用されているかが一目でわかります。
出力結果を見ても、慣れないうちは「usedとfreeだけ見ればいいの?」と思いがちですが、実はそれだけでは本当の状況はつかめません。ここでは、それぞれの列が何を意味しているかを説明します。
システム全体で使用可能な物理メモリの総量です。RAMの搭載量がそのまま反映されます。
OSやアプリケーションによって実際に使用されているメモリ量を示します。これは「空きがこれだけある」と判断する材料にはなりません。
何も使用していない完全な空きメモリ量です。ですが、Linuxはメモリを効率よく使うため、未使用のメモリをキャッシュやバッファに使っていることがあります。
複数のプロセスで共有されているメモリの量です。たとえば一部のライブラリや一時的なデータなど。
ディスクアクセスを効率化するために使われているメモリ領域です。一見「使われている」と思われがちですが、必要があればすぐに開放されるメモリなので、「空き」と同様に考えて差し支えありません。
実際にアプリケーションが使用できるメモリの目安です。Linuxのカーネルが計算して出してくれるこの値が、最も「空きメモリ」に近い感覚で見ていい数字です。
出力結果の下段にある「Swap」は、物理メモリが足りなくなった場合に、ディスク上に確保された仮想メモリ領域のことです。
スワップを頻繁に使用している場合は、物理メモリが不足しており、動作が遅くなる原因になります。
突然動作が重くなった場合、free -h
でメモリの空きが十分あるかをチェックします。
$ free -h
このとき、available
の値が極端に少なければ、メモリ不足が原因の可能性が高いです。
アプリケーションの数が増えたとき、RAMの消費状況を見るのにも便利です。
$ watch free -h
watch
コマンドと組み合わせることで、数秒おきに更新されたメモリ使用状況をリアルタイムで確認できます。
free -h
の他にも、状況に応じて以下のようなオプションがあります。
オプション | 説明 |
---|---|
-b | バイト単位で表示 |
-k | キロバイト単位で表示(デフォルト) |
-m | メガバイト単位で表示 |
-g | ギガバイト単位で表示 |
-s N | N秒ごとに自動更新 |
-t | 合計行を追加表示 |
例:
$ free -m -t
これは、MB単位で表示し、かつ合計メモリ量の行も追加してくれます。
GUI(グラフィカルユーザーインターフェース)でのメモリ確認も可能ですが、free -h
は以下のようなメリットがあります。
特に、サーバーやクラウドインスタンスを管理しているエンジニアにとっては、欠かせないツールです。
free -h
コマンドは、Linux環境でメモリの使用状況を手軽に把握するための基本ツールです。出力結果の各項目の意味を正しく理解しておけば、パフォーマンスのトラブル時に迅速に状況把握ができます。とくに「available」の値に注目することで、実際にどれくらい使えるメモリがあるのかを判断できます。
シンプルながらも非常に便利なこのコマンドを、ぜひ日常の管理作業に活用してみてください。次のステップとしては、top
やhtop
、vmstat
などのコマンドと併用し、より深くメモリの挙動を観察していくのもおすすめです。