Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

Linux環境で、システム全体やプロセスごとのメモリ使用量を確認したい場合、top、free、psといったコマンドを使って確認するのが一般的です。

そこでここではRedHat互換のAlmaLinuxを例に、システム全体やプロセスごとのメモリ使用量を、top、free、psコマンドを使って確認する方法を紹介します。

システム全体のメモリ使用量を確認

topコマンドの場合

topコマンドは、システム全体のリソースの使用状況をリアルタイムに確認できるコマンドで、システム全体のメモリ使用量を確認するときは、オプションなしでtopコマンドを実行し、表示される情報の4~5行目で確認します。

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

各項目の値は、次のとおりです。

項目名説明
total物理メモリサイズ
free使用していないメモリサイズ
used使用中のメモリサイズ
buff/cacheバッファやキャッシュとして割り当てられたメモリサイズ
avail Mem物理メモリの空き容量

freeコマンドの場合

freeコマンドでは、コマンド実行時点のシステム全体のメモリ使用量を確認することができ、オプションなしでfreeコマンドを実行します。

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

各項目の値は、次のとおりです。

項目 説明
total物理メモリサイズ
used使用中のメモリサイズ
free使用していないメモリサイズ
sharedプロセス間で共有されているメモリサイズ
buffers/cacheバッファやキャッシュとして割り当てられたメモリサイズ
available物理メモリの空き容量

なお、topコマンドやfreeコマンドでメモリの空き容量を確認するときは「avail Mem」や「available」項目を確認します。

プロセスごとのメモリ使用量を確認

topコマンドの場合

topコマンドでは、6行目以降にプロセスごとのリソース使用状況が表示されており、以下の項目でメモリの使用状況を確認できます。

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

項目名説明
VIRT割当済の仮想メモリサイズ(KB)
RES使用した物理メモリサイズ(KB)
SHR共有メモリとして消費されているメモリサイズ(KB)
%MEM物理メモリの使用率

なお、プロセスはデフォルトでCPU使用率の順で表示されていますが「Shift+m」キーを押せば、メモリ使用率が多い順に並べ替えて表示することもできます。

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

また、topコマンドのオプションでプロセスIDを指定すれば、指定したプロセスのリソース使用状況のみを確認することもできます。

例えば、プロセスIDが「771」のプロセスの情報を表示したいときは、以下のようにコマンドを実行します。

# top -p 771

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

psコマンドの場合

psコマンドでプロセスごとのメモリ使用量を確認したいときは、以下のようにコマンドを実行することで、プロセスID・メモリ使用率・仮想メモリ使用量(KB)・物理メモリの使用量(KB)・実行コマンド名を、メモリ使用率の順(降順)に並べ替えて表示できます。

$ ps axo pid,pmem,vsz,rss,comm k -pmem

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法

また、オプションでプロセスIDを指定すれば、指定したプロセスIDのメモリ使用量だけを確認できます。

# ps -p 771 o pid,pmem,vsz,rss,comm

Linuxでシステム全体やプロセス単位のメモリ使用量を確認する方法