gpt4 book ai didi

java - 尽管有足够的内存,但在 VPS 上获取 "java.lang.OutOfMemoryError: unable to create new native"

转载 作者:行者123 更新时间:2023-12-02 08:04:45 26 4
gpt4 key购买 nike

我就是不明白为什么会出现这个错误。它并不总是显示,但一旦出现,我的应用程序就拒绝接受连接(无法创建新的套接字线程,以及我在 JAVA 应用程序中创建的其他线程,其中一些线程我使用 ThreadPool)。

top 和 htop 向我展示了 2048MB 中大约使用了 900MB。并且堆内存也足够,大约有200MB空闲。

cat/proc/sys/kernel/threads-max 输出:

1196032

而且,几天前一切都运行良好,这是一款多人在线游戏,我们有超过 200 个在线用户(总共约 500 个线程)。但现在,即使有 80 个用户在线(~200 个线程),10 分钟或几个小时后,我的应用程序也会因 OutOfMemoryError 错误而崩溃。在这种情况下,我确实重新启动了我的应用程序,但它仅在很短的时间内有效。

我很好奇,如果 JVM 在 VPS 上表现奇怪怎么办,因为同一台物理机上的其他 VPS 也使用 JVM。这可能吗?提供商是否有某种我看不到的限制?或者是否存在某种服务器攻击?

我还应该提到,当这个错误发生时,有时 munin 无法记录数据大约只有 10 分钟。查看图形图像,只有空白,就像 munin 根本不起作用一样。正如 htop 告诉我的那样,此时还有大约 1 GB 的可用内存。

这也可能是我们的情况,我以某种方式在我的应用程序中产生了一个错误。并在我完成更新后开始收到此错误。但即便如此,我从哪里开始调试呢?

最佳答案

尝试增加堆栈大小(-Xss)

关于java - 尽管有足够的内存,但在 VPS 上获取 "java.lang.OutOfMemoryError: unable to create new native",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358019/

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