web-dev-qa-db-ja.com

Sun Solarisの%(パーセンテージ)でのメモリ使用率?

SunSolarisシステムのメモリ使用率をパーセント形式で取得したいと思います。

vmstat 1 1 | tail -1 | awk 'a=`/usr/sbin/prtconf|fgrep Memory|awk '{print $3*1024}'{ print 100-($5/$a)*100}'                                      

エラーを下回る:

awk: syntax error near line 1
awk: bailing out near line 1

また、このクエリに可能な代替手段があるかどうかを提案してください。

1
Anavarathan

Solaris awk-vスイッチがないか、変数の設定が許可されていない)を使用し、最初に元のクエリを使用すると、次のことができます。

空きメモリの割合:

a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print (\$5/$a)*100}"

使用済みメモリの割合:

a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print 100-(\$5/$a)*100}"

最初にシェルで変数を割り当ててから、シェル変数置換を使用してvmstatクエリを実行します。これには、awkで二重引用符を使用し、awk変数を必ずエスケープする必要があります。また、fgrepawkを一緒に使用する必要はありません。awkは両方を使用できます。

利用可能なOpensolarisでテストしたので、YMMV。

2
GracefulRestart
echo ::memstat | mdb -k

カーネル、zfs、ユーザー、および無料によるメモリの使用率を生成します。

あなたはルートである必要があります。

0
Sasha Golikov