繁体   English   中英

如何优化 JVM 的 memory 使用?

[英]How can I optimize the memory usage of JVM?

我想问这里是否有人知道如何优化 JVM 的 memory 使用的方法? 我们正在使用调用 JVM 的 java 服务包装器 (YAJSW),物理 memory 使用量约为 40MB。 我想减少这个,比如说 5-10MB。 我如何实现这一目标?

到目前为止,我只有以下配置:

java =-Xmx1024m

我也试过这个:

java =-Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=2 -XX:PermSize=256m -XX:MaxPermSize=256m

但是这些配置设置根本没有任何区别。 什么是正确的配置设置? 或者,我还需要做什么来优化它?

提前感谢您的回答。

你说的是常驻 memory 还是虚拟的? 在我的机器上,一个简单的while(true); 在没有其他任何东西的情况下,我已经获得了 10 MB 的常驻 memory, main是因为 memory 映射的 r/o 库(libc、libm、librt、libpthread ...)和 ZBE1587EA25D1C05C81D3BDEB94 如果可能的话,进一步减少 memory 占用空间,或在任何重要的应用程序中减少到 10 MB,只会意味着更多的分页,从而降低速度。

另一方面,虚拟 memory 在我的机器上是 1.1 GB,如果需要可以减少,但为什么要这样做? 未使用的虚拟 memory 并没有真正花费任何成本。

编辑:除此之外,您可能还想看看其他HotSpot VM Options ,尤其是 MaxHeapFreeRatio。

YAJSW 的文档指出:

包装器 memory 要求
YAJSW 的灵活性是有代价的。 使用 java 进行包装工艺有很多优点。 但是,我们支付更高 memory 占用空间的 java 价格。 虽然 JSW 包装器只需要几 k 的 memory,但 YAJSW 的最小虚拟 memory 要求是 90 MB 和 40 MB 物理 ZCD69B4957F06CD818D7BF3D61980E29 该值因操作系统和功能而异。

如果您的应用程序可以在 32 位 memory 限制下运行,您可以使用 Tanuki 的社区版,因为它占用空间较小。

暂无
暂无

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

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