特定のプロセスの %cpu %mem、CPU 時間など (多いほど良い) を監視するスクリプトを作成しようとしています。Windows のパフォーマンス モニター (perfmon) のようなもの。
そのためにすでにいくつかのツールが作成されていることは知っていますが、Linux と (solaris*/aix/hpux) の両方で動作する必要があるため、基本機能と組み込み機能を使用して実行する必要があります。
出力ログが更新されるように、perfmon.exe からの出力と同様の出力があれば素晴らしいと思います。たとえば、追跡されたプロセスが 5 秒ごとにフォーマットされます。
date %mem %cpu cputime private_bytes(?) virtual_bytes(?)
トップからデータを抽出するか(実際には、使用されるすべてのOSで同じではありません)、「ps」クエリからデータを抽出しようとするかどうかわかりません。
私は次のような for ループでそうしようとしています:
for $count; do
sleep $delay
date >>output.txt
ps -A -o pid,%cpu,%mem,time -o comm= | grep -v grep | grep $process >> output.txt
done
ヒントをいただければ幸いです。
ブラジル