繁体   English   中英

在Java代码中获取有关jvm内存使用情况的信息

[英]Get information about jvm memory usage inside the java code

有许多方法可以离线分析jvm内存使用情况,例如MAT,jmap。 但是,在运行时是否有任何方法可以测量代码内部的内存使用情况? 任何建议将不胜感激。

请参考官方Java文档,即https://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html

例如:

Runtime.getRuntime().totalMemory() // total memory available Runtime.getRuntime().freeMemory() // free memory

是一篇可能有用的文章

任何建议将不胜感激。

既然您已寻求建议....我的建议将是-除了在开发时探索各种选择之外,请勿尝试这样做。

如果试图编写一个估计对象大小并利用此信息来适应其行为的程序,则很可能会遇到各种性能问题,并花费大量时间来确定如何避免它们。 而且您的应用程序将变得更加复杂,并且难以维护。

另一点建议:不要迷恋内存中有多少空间对象。 除非您的数据结构非常大,或者平台上的内存很少,否则在这里和那里保存一些字节不会有什么区别。

话虽如此,这个问答很好地涵盖了这个主题:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM