繁体   English   中英

关于增加JVM的堆大小

[英]about increasing heap size of JVM

我用线程开发了聊天应用程序。 但是当我启动我的应用程序时,系统行为非常缓慢,并且有时异常发生堆已满。 我想增加Java虚拟机的堆大小。 我该怎么做?

只需增加JVM的堆大小即可。 所有Java应用程序,即使是简单的应用程序,都会占用大量内存。 看一下这篇文章 ,详细解释如何增加应用程序的可用内存量; 基本上,当你调用java命令时,你需要将一些额外的参数传递给JVM,如下所示:

java -Xms64m -Xmx256m HelloWorld

在上面的命令中,我说HelloWorld程序的初始堆大小应为64MB,最大为256MB。 尝试使用这些值并稍微调整它们,直到找到适合您的应用程序的值组合。

您可以增加堆大小,但更大的问题是“为什么我会得到该异常?” 如果您的应用程序没有正确清理,那么增加堆大小只会延迟不可避免的时间。

您需要使用Visual VM检测应用程序,看看发生了什么。 这将为您提供更多的前进路径,而不仅仅是增加堆大小。

启动应用程序时,在命令中添加-Xmx100m 这将为您提供100 MB的堆(您可以更改数量)。

一个聊天应用程序需要的不仅仅是标准堆大小,这听起来很奇怪......

大段引用

大型服务器应用程序经常遇到这些默认值的两个问题。 一个是慢启动,因为初始堆很小,必须在许多主要集合上调整大小。 一个更紧迫的问题是,对于大多数服务器应用程序,默认的最大堆大小是不合理的小。

大段引用

您可以使用以下参数java -Xms64m -Xmx256m chat_program通过命令提示符启动程序。 这里Xms64m = 64mb初始堆大小,Xmx256m = 256mb最大堆大小

暂无
暂无

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

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