Linux のリソース管理を行うコマンドはたくさんありますが、そのうちの free コマンドについて、その実行結果の見方をきちんと知っておきたいと思います。
free コマンドは、メモリの使用状況を表示するコマンドです。
実行すると、下表に示す3種類の領域に関する容量データ(項目)が表示されます。
領域 | 項目 | 説明 |
---|---|---|
Mem | total | 実メモリの全容量 |
used | 実メモリの使用容量 | |
free | 実メモリの空き容量 | |
shared | 共有メモリ容量 | |
buffers | バッファメモリ容量(ブロックデバイスの読み書き用) | |
cached | ファイルキャッシュメモリ容量(ファイルのページキャッシュ用) | |
-/+ buffers/cache | used | 実メモリの used から buffers と cached を引いた容量 |
free | 実メモリの free に buffers と cached を加えた容量 | |
Swap | total | スワップ領域の全容量 |
used | スワップ領域の使用容量 | |
free |
バッファおよびキャッシュは、OSによって確保(予約)されているメモリであって、used としては buffers と cached を差し引いた値を「-/+ buffers/cache」に表示します。
ところが、バッファおよびキャッシュは、メモリ不足しそうになれば、OSはそれらを解放して、free として使えるようにします。よって、free コマンドは buffers と cached を加えた使用可能な最大の値を「-/+ buffers/cache」に表示します。
なお、代表的なコマンドオプションは下表の通りです。
コマンドオプション | 説明 |
---|---|
-b | 容量をバイト単位で表示する。 |
-k | 容量をキロバイト単位で表示する(デフォルト)。 |
-m | 容量をメガバイト単位で表示する。 |
-g | 容量をギガバイト単位で表示する。 |
-s n | n 秒ごとに最新の情報を表示し直す。 |