
私のボックスで高いメモリを使用してプロセス名をキャプチャしようとしています。それを得るために、次のコマンドを実行しました。
while [ 1 ]
do
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
sleep 5
done
しかし、問題は、PIDの実行に関する完全なcmd詳細を提供しないことです。私が得た結果は次のとおりです。
PID PPID CMD %MEM %CPU
916 915 /usr/bin/perl /release/data/ 11.9 0.2
831 830 /usr/bin/perl -w /release/da 6.5 0.0
608 607 /etc/alternatives/java_sdk_ 2.4 1.2
135 134 /etc/alternatives/java_sdk_ 1.4 1.6
PIDの完全なコマンドをキャプチャしたいと思います。
答え1
「完全なcmdの詳細」は引数リストを含むことを意味すると仮定しますか?もしそうなら、これを試してみてください。最大100文字の幅のCMD列を提供します。必要に応じて調整できます。
ps -eo pid,ppid,cmd:100,%mem,%cpu --sort=-%mem | head
答え2
いつでも使用できますトップ出力を操作するスイッチを持つコマンド:
top -b -c -n 1 -o +%MEM | sed -n '7,17p'