プロセスが消費するメモリを監視する方法は?


16

実行中に消費するメモリ量を確認したいプロセスがあります。

今私はこれをします:

ps faux | grep casper

しかし、それは私にその瞬間の情報を与えるだけです。スクリプトの進行に合わせて値が変化するのを見るといいでしょう。

私はこれを行うことができますか?

回答:


15

方法1

実行:

top

プログラムのPID(最初の列)を確認し、実行します:

top -p PID

方法2

これを端末に貼り付けるか、mem_usage.shとして保存して、端末から実行します。

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done

1
%を表示することからどのように変更できますか?対象外:-)
Wilf

スクリプトを実行すると次のようになります:bash:./memory_usage.sh:bin / bash:不正なインタープリター:そのようなファイルまたはディレクトリはありません
Hommer Smith

ああ!編集しました!投稿する前に適切に確認する必要があります。最初の行は、/ bin / bashから実行する場所を示す必要があります(bin / bashがあるので、bashのbinというフォルダーでローカルにチェックしていました)
Julian Stirling

1
@ wilf ps faux | grepキャスパー| awk '{print $ 11} {print $ 6}'これにより、1行にプログラム名、次の行にkB単位の実メモリサイズが表示されます。
ジュリアンスターリング

6

プロセスのみを監視するには、/ proc / PID / statusまたは/ proc / PID / statmを確認できます。

/ proc / PID / statmについて:

実行後、cat /proc/PID/statmこれが表示されるはずです:

611450 185001 883 18 0 593431 0

説明 :

  1. サイズ:-プログラムの合計サイズ(611450 X 4096/1024 = 2445800kB = 2388M)
  2. 常駐:-常駐セットサイズ(185001 X 4096/1024 = 740004kB = 722M)
  3. 共有:-共有ページ(883 X 4096 = 3532)
  4. trs:-テキスト(コード)(18 X 4096/1024 = 72kB = VmExe)
  5. drs:-データ/スタック
  6. lrs:-ライブラリ(593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt:-ダーティページ

また、dateとcatを使用してループを実行しているプロセスのメモリアクティビティを記録できます。


4

「top」を使用して使用できます

man top

このプログラムを使用すると、RSS、VSZ、CPUなどでリソースの使用状況を並べ替えることができます。非常に便利です。

または、メモリ使用量のより詳細な内訳については、「pmap」を試してください

man pmap

使用例:

pmap -x 1234

乾杯

sc。


1
pmap -x PID、あなたは信じられないほど詳細な使用法を意味しました:
Wilf

確かに-十分な詳細を持つことはできません:)
swisscheese

1
鉱山(Ubuntu 16.04.5 LTS)では、PIDを使用した「pmap -x」は、PIDとコマンド以外のものを表示しません。-Xも同じです。
-orrd


1

試してみてください:

watch 'ps faux | grep -v grep | grep casper'

--interval <seconds>パラメータを使用して更新間隔を変更することもできます。


1
最後のものをgrep [c] asperに変更する場合、-v grepは必要ありません。それはキャスパーに一致しますが、それ自体には一致しません。
ウダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.