【free】Linuxでメモリの空き容量を正しく確認する方法【Linuxコマンド入門 Part3-2】

前回は、Linux版タスクマネージャー top コマンドについて紹介しました。プロセスごとの詳細な動きを見るには最適でした。

結局、メモリはあとどれくらい空いているの?」という全体像をサクッと知りたい時には、今回紹介するfreeコマンドの方が便利です。

関連:linux版タスクマネージャー topコマンド

top,htopコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【topとhtop】LinuxでCPUやメモリの使用率をリアルタイムで確認する方法【Linuxコマンド入門 Part3-1】

linux版タスクマネージャー topコマンド、CPUやメモリの使用率を確認し、タスクを管理する方法を紹介します。よく使うショートカットについてまとめました。

freeコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

free コマンド

free は、その名の通り システムの物理メモリとスワップメモリの「使用量」と「空き容量」を表示する コマンドです。

「サーバーが重いな?」と思った時に、まず最初に叩くコマンドの一つです。

基本構文

使い方は、以下のようにターミナルに打ち込むだけです。

free

しかし、これだけだと数値が「キロバイト (KiB)」単位で表示されるため、現代の大容量メモリのPCでは桁数が多すぎてパッと分かりません。

-hオプション(human-readable)をつけると見やすいです。

おすすめオプション付き

free -h

実行結果の見方

free -h を実行すると、以下のような表が表示されます。

出力結果例

               total        used        free      shared  buff/cache   available
Mem:           3.7Gi       389Mi       2.5Gi       120Mi       0.8Gi       3.3Gi
Swap:          1.0Gi          0B       1.0Gi

見るべきポイントは以下の3つです。

  1. total (全体): 搭載されている物理メモリの総量。
  2. used (使用中): OSやプログラムが「これ以上使えない」と確保している量。
  3. available (実質利用可能):ここが本当の空き容量
    • free: 何にも使われていない真っ更な空き領域。
    • buff/cache: Linuxが「今は使ってないけど、いつでも使えるようにデータを一時保存(キャッシュ)しておこう」と確保している領域。

ポイント: Linuxは空いているメモリを積極的に「キャッシュ(buff/cache)」として使い、システムの動作を速くしようとします。しかし、アプリがメモリを必要とすれば、この領域はすぐに解放されます。 つまり、「available」の数値に余裕があれば、メモリ不足ではありません。

「free」と「available」は何が違うの?

実行結果を見て、「free(空き)がこんなに少ない!ワシのサーバ、メモリ足りんくね?」と焦ったことはありませんか?実は、Linuxにおいて free が少ないのは、むしろ正常で健全な状態なのです。

この2つの違いを、「図書館の机」に例えてみましょう。

  • Total(全体のメモリ): あなたの作業机の広さです。
  • Used(使用中): 現在、勉強や仕事で広げているノートやパソコンです。これは片付けられません。
  • Free(完全な空き): 何も置かれていない、ピカピカのスペースです。
  • Buff/Cache(キャッシュ): 「さっき読んだ本」や「後で使うかもしれない資料」を、とりあえず机の空いている場所に置いている状態です。本棚に戻す(ディスクに保存する)より、机の上(メモリ)にあったほうがすぐに手が届きますよね?
  • Available(実質利用可能): 「新しい作業を始められる広さ」です。 これは 「Free(ピカピカの場所)」+「Buff/Cache(どかせば使える場所)」 の合計です。

Linuxの考え方: Linuxは「使っていないメモリ(机の空き)があるなんてもったいない!」と考えます。 そのため、free(空きスペース)があれば、そこになるべく多くのファイルデータ(キャッシュ)を詰め込んで、PCの動作を高速化しようとします。

もし新しいアプリを起動したくなったら? Linuxは瞬時に「とりあえず置いてある本(Cache)」を片付けて、場所を空けてくれます。

だから、free が少なくても心配無用です。 本当に気にするべきは、「すぐに場所を空けられるか」を示す available の数値です。

もし Swap の used が増えていたら?

2行目の Swap(スワップ) に注目してください。 ここの used0B ではなく、数GBなど大きな数字になっている場合は要注意です。物理メモリ(主記憶)が足りなくなり、遅いHDDやSSDをメモリ代わりに使い始めています。これが「PCが重い」原因になります。

Swapが増えていたらメモリ増設を検討するサインです。

まとめ

  • free:空きメモリを確認するコマンド
  • free -h:読みやすくするオプション
  • 空き容量はavailableの値
  • Swap使用量は要チェック: ここが増えていたらメモリ増設を検討するサイン。

top コマンドと合わせて使えば、システムの状態把握はバッチリです。

次回は、サーバーが「いつから起動しているか(稼働時間)」や「システム全体の負荷」を確認する uptime コマンドなどを紹介します。

次回 uptimeコマンド

uptimeコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【uptime】linuxで起動時間と負荷を確認する方法。【Linuxコマンド入門 Part3-3】

linuxでシステムの負荷を1行で確認する方法。uptimeコマンドの使い方について、おすすめオプションも含めて紹介します。

前回 topコマンド

top,htopコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【topとhtop】LinuxでCPUやメモリの使用率をリアルタイムで確認する方法【Linuxコマンド入門 Part3-1】

linux版タスクマネージャー topコマンド、CPUやメモリの使用率を確認し、タスクを管理する方法を紹介します。よく使うショートカットについてまとめました。

第三回”Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~”では、linuxでどのようにCPUやメモリの状態を確認するか、ネットワークとの接続チェックなどの基本操作を解説しています。

linuxコマンドでシステムのメモリやCPUの状態、プロセスの詳細を確認する方法を紹介するシリーズのサムネイル 6 記事
シリーズ

Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~

Linuxのシステム管理コマンドや基本的なネットワーク関係コマンドを理解しよう。

ここまで読んでいただきありがとうございます。

では、次の記事で。 lumenHero