如何解决如何优化JVM的内存使用率?
| 我想问一下这里是否有人知道如何优化JVM的内存使用? 我们正在使用Java服务包装程序(YAJSW)来调用JVM,物理内存使用量约为40MB。我想减少这个范围,例如5-10MB。我该如何实现? 到目前为止,我只有以下配置:java =-Xmx1024m
我也尝试过这个:
java =-Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=2 -XX:PermSize=256m -XX:MaxPermSize=256m
但是这些配置设置完全没有区别。什么是正确的配置设置?或者,我还需要做些什么来优化它?
预先感谢您的回答。
解决方法
您是在谈论常驻内存还是虚拟内存?在我的机器上,仅用
main
中的简单while(true);
就已经获得了10 MB的常驻内存,这主要是由于内存映射的R / O库(libc,libm,librt,libpthread ...)和jars。如果有可能,将内存占用量进一步减少,或者在任何不平凡的应用程序中减少到10 MB,只会意味着更多的分页,从而降低了速度。
另一方面,我的计算机上的虚拟内存为1.1 GB,可以在必要时减少虚拟内存,但是为什么这样做呢?未使用的虚拟内存实际上不会花费任何费用。
编辑:除此之外,您可能想看看其他HotSpot VM选项,尤其是MaxHeapFreeRatio。
, YAJSW的文档指出:
包装器内存要求
YAJSW的灵活性需要付出一定的代价。使用Java进行包装过程具有许多优点。但是,我们为更高的内存占用量付出了Java的代价。 JSW包装器仅需要几千个内存,而YAJSW的最小虚拟内存要求是90 MB和40 MB物理内存。该值取决于操作系统和功能。
如果您的应用程序可以在32位内存限制内运行,则可以使用Tanuki社区版,因为它的占用空间较小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。