Sun Solarisのメモリ使用率(%)は何ですか?

Sun Solarisのメモリ使用率(%)は何ですか?

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

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

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必要はありません。fgrepawkawk

私は利用可能なOpensolarisでテストされているのでYMMVです。

答え2

echo ::memstat | mdb -k

カーネル、zfs、ユーザー、および空きメモリーの使用率が生成されます。

ルートになる必要があります。

関連情報