gpt4 book ai didi

Java 在 VPS 上内存不足

转载 作者:行者123 更新时间:2023-11-29 08:54:15 25 4
gpt4 key购买 nike

程序没有明显的内存泄漏,当我观察到它在我的机器上本地运行时它工作正常。在 VPS 上,它会在几个小时后崩溃,并显示如下所示的一系列错误消息。

线程“Thread-10422”中的异常 java.lang.OutOfMemoryError:Java 堆空间

我不明白如果存在内存泄漏,为什么会在几小时后而不是几分钟后出现这样的错误。我使用 VisualVM 等工具来观察程序的行为,内存始终保持稳定运行。

有没有人知道我可以调试它并深入了解它或如何避免它的任何方法?

有没有不需要安装的工具,可以通过ssh观察进程的内存使用情况?

编辑:所有异常都没有堆栈跟踪,这很奇怪。但是错误发生在不同类的不同线程中。

at java.io.BufferedWriter.<init>(BufferedWriter.java:104)
at java.io.BufferedWriter.<init>(BufferedWriter.java:87)
at java.io.PrintStream.init(PrintStream.java:100)
at java.io.PrintStream.<init>(PrintStream.java:142)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
at sun.net.www.http.HttpClient$2.run(HttpClient.java:457)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:454)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:521)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:240)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.http.HttpClient.New(HttpClient.java:338)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:914)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801)


at java.util.HashMap.resize(HashMap.java:479)
at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:431)
at java.util.HashMap.put(HashMap.java:402)
at org.jsoup.nodes.Attributes.put(Attributes.java:58)
at org.jsoup.parser.Token$Tag.newAttribute(Token.java:65)
at org.jsoup.parser.TokeniserState$34.read(TokeniserState.java:791)
at org.jsoup.parser.Tokeniser.read(Tokeniser.java:42)
at org.jsoup.parser.TreeBuilder.runParser(TreeBuilder.java:47)
at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:41)
at org.jsoup.parser.HtmlTreeBuilder.parse(HtmlTreeBuilder.java:37)
at org.jsoup.parser.Parser.parseInput(Parser.java:30)
at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:102)
at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:498)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:154)

编辑:设置最大内存后出现此错误

OpenJDK 64 位服务器 VM 警告:尝试分配堆栈保护页面失败。

最佳答案

这清楚地表明您正在用完堆空间。因此,您可以尝试使用 coomand java -Xms<initial heap size> -Xmx<maximum heap size> 增加 Java 虚拟机的堆空间。

据我所知,默认值为 initial: 32M and maximum: 128M .所以可以让它的最大值为256M或者512M。

查看此内容以获取有关 Java VM 的信息。 http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

关于Java 在 VPS 上内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com