我想以%百分比格式获取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}"
首先在shell中分配变量,然后vmstat
使用shell变量替换执行查询。这需要在中使用双引号,awk
并确保对awk
变量进行转义。你也不需要使用fgrep
和awk
在一起,awk
可以两者都做。
在我可用的Opensolaris上进行了测试,所以YMMV。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句