プロセスメモリの使用量
メモ:Linuxで、2つのアプリケーションを同居する場合に、正常動作する仕様か?を調査した時のメモ
確認したのは下記2点。このページはメモリについて書きました。
- メモリが足りるか?
- プロセス名やポートがぶつからないか?
特定のプロセスのメモリ使用量の確認
アプリケーションのプロセスのメモリ使用量を調べます。
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 58572 19024 ? Ss 4月13 10:14 /usr/lib/systemd/systemd --switched-root --system - <--全てのプロセスが表示されるので長い--> 上記のプロセス(PID=1)では、仮想メモリサイズ「58572KB」、物理メモリサイズ「19024KB」と読める。 # 特定のプロセスメモリを確認する場合 ps aux | grep [プロセス名]
そもそも「aux」って?
auxはpsコマンドのオプションを3つ合わせたもの。
- a:端末操作のプロセスを表示する
- u:CPUやメモリの使用率などを表示する
- x:端末操作以外のプロセスを表示する
auxで確認できる項目
auxでプロセスの何が確認できるのでしょうか?
項目 | 説明 | 備考 |
---|---|---|
USER | プロセスを所有しているユーザ名 | |
PID | 一意のプロセスID | |
%CPU | プロセスのCPU使用率(%) | プロセスの実行時間 / CPU使用時間 |
%MEM | プロセスが確保している物理メモリ量 | |
VSZ | 仮想メモリサイズ(KB) | |
RSS | 使用中の物理メモリサイズ(KB) | |
TTY | 制御端末の種類及び番号 | |
STAT | プロセスのステータス | S:割り込み可能なスリープ状態 s:セッションリーダ D:割り込み不可能なスリープ状態 R:実行可能状態(待ち状態) O:実行中 I:プロセス生成中 Z:親プロセスとの関係が切れた状態(ゾンビプロセス) N:優先度低い >:優先度高い +:フォアグラウンドのプロセスグループに入っている T:停止中 |
START | プロセスを起動した時間 | |
TIME | 累積したCPU時間 | プロセスが使用した全CPU時間 + プロセスのためにカーネルが使用した全CPU時間 |
COMMAND | プロセスのコマンド名 |
VSZとRSSの違いがはっきりしない・・・
この違いを理解するには、下記URLが良さそうです。
Linux/メモリ確保とVSZとRSS - discypus
プロセスのVSZ,RSSとfree,meminfoを実機で確認 - のぴぴのメモ
PostgreSQLプロセスのメモリ使用量の確認
このアプリケーションはpostgreSQLを使用しているのですが、メモリ使用量の確認で留意点がありました。 別途、まとめます。