Bash

Sun Solaris 中的記憶體使用率百分比(百分比)?

  • February 11, 2019

我想以百分比格式獲取 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

另外,請建議此查詢是否有任何替代方法?

使用 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首先在 shell 中分配變數,然後使用 shell 變數替換執行查詢。這需要在中使用雙引號awk並確保轉義awk變數。你也不需要fgrepawk一起使用,awk兩者都可以。

在我可用的 Opensolaris 上測試過,所以 YMMV。

引用自:https://unix.stackexchange.com/questions/472044