如何解决Solaris中的物理内存利用率
从以前有关该主题的问题中,我发现了两种获取内存使用率的方法:
-
echo "::memstat" | mdb -k
-
a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 2 | tail -1 | awk "{print 100 - (\$5 / $a) * 100}"
我选择第一个是因为我宁愿依靠现有工具,也不愿自己计算。但是,在某些系统上,“ :: memstat”的输出格式与其他格式略有不同(标头以“用法类型/子类型”开头,而不是“页面摘要”等)。这是一个问题,因为我正在用代码对其进行解析。
我可以修复解析器以处理这两种变体,希望隐藏起来没有其他变体。
有人能建议一种更好的方法,而不是那么脆弱吗?
解决方法
最终在Solaris documentation中找到了答案。
sysconf为总页面提供_SC_PHYS_PAGES,为可用页面提供_SC_AVPHYS_PAGES
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。