我使用线程开发了聊天应用程序。但是当我开始我的应用程序系统行为非常缓慢,有时会发生堆已满的异常。我想增加Java虚拟机的堆大小。我该怎么做?关于增加JVM的堆大小
回答
将-Xmx100m
添加到启动应用程序时的命令中。这会给你100 MB的堆(你可以改变数字)。
一个聊天应用程序将需要比标准堆大小更多这听起来很奇怪......
我聊天应用程序有点巨大,包括更多的功能。我有我的应用程序的可执行jar。那我该怎么做呢? – Vinay 2012-03-20 13:49:01
像'java -Xmx100m -jar yourjar.jar'应该这样做。 – 2012-03-20 13:57:48
'功能'不一定会占用堆空间。类被加载到堆的'PermGen'部分。我认为你默认有64MB堆。这是很多数据。 – 2012-03-20 13:59:18
您可以增加堆大小,但你的更大的问题是“为什么我得到异常?”如果您的应用程序没有正确清理后,增加堆大小只会延迟不可避免的。
你需要用Visual VM来测试你的应用程序,看看发生了什么。这会给你更多的路径,而不仅仅是增加堆的大小。
+1不要只治疗症状!治愈原因! – Terraego 2012-03-20 14:15:14
只需增加JVM的堆大小即可。所有的Java应用程序,甚至简单的应用程序都会占用大量内存。看看这article详细解释如何增加可用于您的应用程序的内存量;基本上你需要一些额外的参数传递给JVM,当你调用java
命令,就像这样:
java -Xms64m -Xmx256m HelloWorld
在上面的命令,我说,HelloWorld
程序应该有一个初步的堆大小为64MB,最大为256MB。尝试使用这些值并调整它们直到找到适用于您的应用程序的值的组合。
块引用
大型服务器应用程序通常会遇到两个问题,这些 默认值。一种是启动缓慢,因为最初的堆很小,并且必须在许多主要集合上调整其大小。 更紧迫的问题是,大多数 服务器应用程序的默认最大堆大小不合理地较小。
块引用
你可以通过命令提示符下使用这些参数 的java -Xms64m -Xmx256m chat_program启动程序。 这里Xms64m = 64MB初始堆大小 和Xmx256m = 256MB最大堆大小
谢谢。这是发生的事情。我的服务器需要时间来回应。 – Vinay 2012-03-20 14:12:20
- 1. 增加Scala的JVM堆大小?
- 2. 如何增加Groovy的JVM堆大小?
- 3. 增加JVM中的堆大小
- 4. 用于增加堆大小的JAVA_OPTS
- 5. 在MAC OSX中增加JVM最大堆大小10.12
- 6. 增加Tomcat的堆大小
- 7. 如何增加在Windows下运行的JVM堆大小?
- 8. 增加AsyncTask堆栈大小?
- 9. Java堆大小增加
- 10. 增加堆栈大小c#
- 11. 增加堆栈大小
- 12. 增加Java小程序的堆大小
- 13. LuaJit增加堆栈/堆大小
- 14. 关于堆(最大堆和最小堆)
- 15. 更改jvm堆大小 - jgrasp
- 16. 为内存密集型应用程序增加JVM最大堆大小
- 17. 的Android:增加调用堆栈大小
- 18. 增加MSXML中的XSL堆栈大小
- 19. 预留Java JVM最大堆大小
- 20. 为sqlworkbench增加堆大小/ J
- 21. 在Windows上增加堆栈大小(GCC)
- 22. 在java中增加堆大小为weka
- 23. 在Linux机器上增加堆大小
- 24. 如何用runhaskell增加堆栈大小?
- 25. 用XCode增加堆栈大小
- 26. 在netbeans.conf文件中增加堆大小
- 27. 在Linux系统上增加堆大小
- 28. C++ vs2010增加堆栈大小
- 29. 增加堆栈大小IIS ASP.NET 3.5
- 30. 如何增加Java堆栈大小?
这可能对你有帮助http://stackoverflow.com/questions/880855/increase-the-java-heap-size-permanently – kunal 2012-03-20 13:48:41