How to increase java heap size programmatically

戏子无情 提交于 2019-11-27 16:04:24

Setting -Xmx to one gig doesn't mean that the JVM will allocate that much memory upon start-up. The JVM will allocate only -Xms (plus overhead) until more heap space is needed. Do you need to protect your users from thrashing virtual memory or a failed memory allocation from the OS? If not, just set Xmx to a large value. Note that Windows 32bit JVMs will often ignore Xmx settings greater than 1.2Gig, so it's best to not request more than a gig or so to be safe.

There is no such standard API to do so.

I would suggest you use Java Web Start to invoke your application (can be used for local applications to in the latest Sun Java 6) as it allows you to specify values for this.

You can then have three or four links each pointing to exactly the same files but with "Tiny", "Medium", "Large", "Gigantic" heap sizes.

madshiva

See this post about increase java heap size :

increase the java heap size permanently?

Maybe also you could clean some part of your code to reduce memory usage.

Best Regards

Take a look at something like launch4j and consider deploying executables where you can control the limit when someone begins the run of your application.

You won't be able to do this programmatically.

Michael Brewer-Davis

For desktop applications, I suggest providing a launcher which can then specify your desired memory size. In addition to configuration of your JVM, you can also provide an icon, file associations, etc.

See this SO question for deployment alternatives.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!