加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:37:17 所属栏目:Java 来源:网络整理
导读:我已经搜索了可能的解决方案,例如 How to monitor the computer’s cpu,memory,and disk usage in Java?.但是在缓冲区和缓存中使用的内存没有在任何地方提及? 例如,在linux上,输出free -m: total used free shared buffers cachedMem: 2011 1835 175 0 309
我已经搜索了可能的解决方案,例如 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)的内存统计信息,则可以使用 JNA或 JNI将平台特定的本机API调用直接映射到操作系统.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读