java降低内存_java – 如何指示JVM尽可能降低内存占用量?

我认为你对JVM的工作原理有误解.这不是GC问题或“任务”问题.

您的任务有内存泄漏,或者它们旨在保留越来越多的内存.

-Xmx1024m设置JVM可以分配的最大内存.它就像你只有1024兆的物理内存而没有虚拟内存一样.

使用Task的定义更新您的问题会很有帮助.这5个独立的JVM是?或者在一个JVM中只有5个单元的工作.

更新

I don’t intend the program to use all 1g heap always. My intention is to instruct the JVM to use 512m heap if can manage and to use more memory only if required. When the memory is no more required, to fall back to 512m or even less amount of memory.

仅仅因为你设置-Xmx1024m并不意味着JVM将使用所有内存.这只是一个最大限度.设置Xms直到设置要使用的最小内存量.您的程序最终确定正在使用的内存量.如果它达到-Xmx设置的限制,那么它将抛出一个OutOfMemoryError

您可以通过调用System.gc()建议JVM运行垃圾收集器.注意我说建议,你不能强制GC运行.你可能在一个拒绝甚至做GC的平台上运行.您还需要查看它为您的应用程序选择的GC算法.我会在这看Tuning Garbage Collector.

如果你需要对内存使用进行如此细粒度的控制,你需要选择除JVM之外的其他东西.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值