微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在java中监视可用内存(包括缓存和缓存)?

我已经搜索了可能的解决方案,例如 How to monitor the computer’s cpu,memory,and disk usage in Java?.但是在缓冲区和缓存中使用的内存没有在任何地方提及?

例如,在linux上,输出free -m

             total       used       free     shared    buffers     cached
Mem:          2011       1835        175          0        309        847
-/+ buffers/cache:        678       1333
Swap:         1998          0       1998

我已经测试了sigar输出,它报告了175 MB的可用内存.

这个问题的原因是什么时候操作系统的内存很少?在以前的free -m输出中,175MB似乎相当低;但是通过添加缓冲区和缓存,显然可用内存实际上是2 GB的1333 MB.

总而言之,使用java可以获得1333 MB的值作为可用内存的值吗?正如我已经提到的,到目前为止,我只知道如何获得175 MB的价值.

解决方法

如果您正在尝试获取操作系统本身(而不是JVM)的内存统计信息,则可以使用 JNAJNI将平台特定的本机API调用直接映射到操作系统.

原文地址:https://www.jb51.cc/java/124731.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐