実行中のプロセスのメモリ使用量を調べる

Linuxで実行中のプロセスごとのメモリ使用量を知りたいなぁと思い調べてみた。方法はいろいろとあるが、今回はpsコマンドを使ってみる。

いろいろオプションを試してみる

ひとまずpsしてみた。

$ ps
  PID TTY          TIME CMD
 4659 pts/0    00:00:01 bash
 5196 pts/0    00:00:00 ps

PIDはプロセスIDのことでCMDはコマンドの名前。 次に l オプションをつける。

$ ps l
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0  1000  4659  4658  20   0 115844  3668 wait   Ss   pts/0      0:01 -bash
0  1000  5366  4659  20   0 109436   816 -      R+   pts/0      0:00 ps l

なんかいっぱい出た。RSSってのが使用中のメモリで単位はkB (キロバイト)。今回はこれが重要。 次に ax オプションをつける。

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     2:53 /usr/lib/systemd/systemd --system --deserialize 22
    2 ?        S      0:01 [kthreadd]
    3 ?        S      2:10 [ksoftirqd/0]
    5 ?        S<     0:00 [kworker/0:0H]
    7 ?        S<     0:00 [kworker/u:0H]
    8 ?        S      0:03 [migration/0]
    9 ?        S      0:00 [rcu_bh]
   10 ?        S     12:02 [rcu_sched]

                (以下略)

めっちゃいっぱい出た。ax は全てのプロセスを表示する。 axlを指定すれば全てのプロセスの詳細が見られるので、それをgrepすれば目当てのプロセスのメモリ使用量などがわかる。ただ、コマンド名がわかっている時は -C で表示するコマンド名を指定できる。

$ ps l -C bash
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0  1000  4659  4658  20   0 115844  3660 wait   Ss   pts/0      0:01 -bash

また -o で表示する項目も指定可能。

$ ps -o rss,cmd -C bash
  RSS CMD
 3660 -bash

その他詳しいオプションなどはmanを参照のこと。

最終更新 2024-01-13

広告

本記事はお役に立てたでしょうか。本ブログでは匿名でのコメントや少額から(15円~)の寄付などを受け付けております。もしお役に立てたのであればご支援いただけると大変励みになります。

Built with Hugo
テーマ StackJimmy によって設計されています。