特定の時間(5秒など)で特定のプロセスのメモリ消費量を見つける方法を知りたいだけです。
私はLinuxが初めてです。したがって、それを行う詳細な手順は高く評価されます
sNMPを使用して、ネットワーク内の特定のデバイスのプロセスのメモリおよびCPU使用率を取得できます。
要件:
注:
Host-RESOURCES-MIB :: hrSWRunPerfCPUは、このプロセスで消費されるシステムの合計CPUリソースのセンチ秒数です。 。マルチプロセッサシステムでは、この値は1センチ秒の実時間(ウォールクロック)で1センチ秒以上増加する場合があることに注意してください。
Host-RESOURCES-MIB :: hrSWRunPerfMemは、このプロセスに割り当てられた実システムメモリの合計量です。
**
プロセス監視スクリプト:
**
echo "IP: "
read ip
echo "specfiy pid: "
read pid
echo "interval in seconds:"
read interval
while [ 1 ]
do
date
snmpget -v2c -c public $ip Host-RESOURCES-MIB::hrSWRunPerfCPU.$pid
snmpget -v2c -c public $ip Host-RESOURCES-MIB::hrSWRunPerfMem.$pid
sleep $interval;
done
使用する top -p PID
ここで、PIDはプロセスIDです。使用されているシステムメモリの割合など、プロセスに関する情報が表示されます。 d
と秒単位の整数を入力して、リフレッシュレートを変更します。
watch を使用して、スクリプトを定期的に実行します。以下に例を示します。
watch 'cat /proc/status' --interval=5
watch 'ps aux' --interval=5
以前に投稿されたこの質問:
アプリケーションまたはプロセスの実際のメモリ使用量を測定する方法?
それはあなたの質問に完全に対処するようです。
編集:プロセスのリソース使用量をチェックするための私の個人的なお気に入りのLinuxユーティリティはトップですが、リンクした質問で説明されている理由で誤解を招く可能性があります。