シェルスクリプト内のプロセスのメモリ使用量

シェルスクリプト内のプロセスのメモリ使用量

シェル スクリプトでプロセスのメモリ使用量を調べたいのですが、次のコードを使用しようとしました:

while[process] do
    if [ -e /proc/$pidno/statm ]; then
    m=`awk '{OFS="\t";print $1,$2,$3,$6}' /proc/$pidno/statm`
    perc=`top -bd .10 -p $pidno -n 1 | grep $pidno | gawk '{print \$10}'`
    echo -e "$m\t$perc"
    else
    echo "$pidno is not running"
    fi
done

しかし、コマンドを root として実行していないため、/proc にアクセスできないようです。root になる権限がありません。どうすればこれを機能させることができるか、またはメモリ使用量を取得する他の方法があれば教えてください。

プロセスの PID を持っています。

答え1

ps コマンドが最善の策です。たとえば、このコマンドはps u$pidno仮想プロセスのサイズと常駐セットのサイズを表示します。

関連情報