Linux環境で、システム全体やプロセスごとのメモリ使用量を確認したい場合、top、free、psといったコマンドを使って確認するのが一般的です。
そこでここではRedHat互換のAlmaLinuxを例に、システム全体やプロセスごとのメモリ使用量を、top、free、psコマンドを使って確認する方法を紹介します。
目次
システム全体のメモリ使用量を確認
topコマンドの場合
topコマンドは、システム全体のリソースの使用状況をリアルタイムに確認できるコマンドで、システム全体のメモリ使用量を確認するときは、オプションなしでtopコマンドを実行し、表示される情報の4~5行目で確認します。
各項目の値は、次のとおりです。
項目名 | 説明 |
---|---|
total | 物理メモリサイズ |
free | 使用していないメモリサイズ |
used | 使用中のメモリサイズ |
buff/cache | バッファやキャッシュとして割り当てられたメモリサイズ |
avail Mem | 物理メモリの空き容量 |
freeコマンドの場合
freeコマンドでは、コマンド実行時点のシステム全体のメモリ使用量を確認することができ、オプションなしでfreeコマンドを実行します。
各項目の値は、次のとおりです。
項目 | 説明 |
---|---|
total | 物理メモリサイズ |
used | 使用中のメモリサイズ |
free | 使用していないメモリサイズ |
shared | プロセス間で共有されているメモリサイズ |
buffers/cache | バッファやキャッシュとして割り当てられたメモリサイズ |
available | 物理メモリの空き容量 |
なお、topコマンドやfreeコマンドでメモリの空き容量を確認するときは「avail Mem」や「available」項目を確認します。
プロセスごとのメモリ使用量を確認
topコマンドの場合
topコマンドでは、6行目以降にプロセスごとのリソース使用状況が表示されており、以下の項目でメモリの使用状況を確認できます。
項目名 | 説明 |
---|---|
VIRT | 割当済の仮想メモリサイズ(KB) |
RES | 使用した物理メモリサイズ(KB) |
SHR | 共有メモリとして消費されているメモリサイズ(KB) |
%MEM | 物理メモリの使用率 |
なお、プロセスはデフォルトでCPU使用率の順で表示されていますが「Shift+m」キーを押せば、メモリ使用率が多い順に並べ替えて表示することもできます。
また、topコマンドのオプションでプロセスIDを指定すれば、指定したプロセスのリソース使用状況のみを確認することもできます。
例えば、プロセスIDが「771」のプロセスの情報を表示したいときは、以下のようにコマンドを実行します。
# top -p 771
psコマンドの場合
psコマンドでプロセスごとのメモリ使用量を確認したいときは、以下のようにコマンドを実行することで、プロセスID・メモリ使用率・仮想メモリ使用量(KB)・物理メモリの使用量(KB)・実行コマンド名を、メモリ使用率の順(降順)に並べ替えて表示できます。
$ ps axo pid,pmem,vsz,rss,comm k -pmem
また、オプションでプロセスIDを指定すれば、指定したプロセスIDのメモリ使用量だけを確認できます。
# ps -p 771 o pid,pmem,vsz,rss,comm