free:シンプルなメモリ状況サマリーコマンド

free

freeコマンドについての概要と詳細

freeコマンドとは

freeコマンドは、Linux環境で物理メモリ、スワップメモリ、バッファ/キャッシュの使用状況を確認するための代表的なCLIツールです。メモリ使用量をシンプルな表形式で表示し、サーバやデスクトップ環境のリソース監視、負荷調査、パフォーマンスチューニングの第一歩として広く利用されています。

主な用途

  • RAM(物理メモリ)の使用状況を確認
  • スワップ領域の使用量を監視
  • キャッシュやバッファのサイズ確認
  • スクリプトや監視ツールと連携した定期チェック

インストール方法

freeは多くのLinuxディストリビューションで標準インストールされていますが、procpsパッケージに含まれています。

Debian/Ubuntu系
$ sudo apt install procps

Fedora系
$ sudo dnf install procps-ng

基本的な使用例

$ free
              total        used        free      shared  buff/cache   available
Mem:        16352748     8453028     2351720      251228     5568000     7371488
Swap:        2097148           0     2097148

上記の出力で特に注目すべきポイント:

  • used: 使用中のメモリ(キャッシュを含む)
  • free: 完全に未使用のメモリ
  • buff/cache: OSがディスクアクセス用に確保したバッファ/キャッシュ
  • available: 実際に新しいプロセスに割り当て可能なメモリ

-hオプション(人間に読みやすい形式)

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         8.0G        2.3G       246M        5.6G         7.0G
Swap:          2.0G          0B        2.0G

他の便利なオプション

  • -s N:N秒ごとに出力を更新(監視に便利)
    $ free -h -s 2(2秒ごとに表示を更新)
  • -t:メモリ + スワップの合計行を追加
    $ free -t
  • -g:GB単位で表示
    $ free -g

「used」と「available」の違い

Linuxではメモリをキャッシュやバッファに積極的に利用し、必要に応じて開放する仕組みのため、「used」だけを見ると実際より多く見える場合があります。「available」はそのキャッシュを解放しても使える容量を表すため、実用的な空きメモリの指標として重要です。

freeコマンドと併用される他ツール

  • top / htop: プロセス単位でメモリ使用率を表示
  • vmstat: 仮想メモリとI/Oの統計を表示
  • smem: PSSベースでメモリを可視化

まとめ

freeコマンドは、Linuxにおけるメモリ管理の状況を素早く確認するための基本ツールです。定期的なサーバ監視やトラブルシューティング時の初動調査として有効で、-h-sオプションを活用することでより柔軟な運用が可能です。「used」だけでなく「available」に注目することが、Linuxメモリ管理を理解するカギとなります。