多个Java应用在VPS上引发了java.lang.OutOfMemoryError:

huangapple 未分类评论44阅读模式
英文:

Multiple java applications on VPS causes java.lang.OutOfMemoryError:

问题

以下是翻译好的部分:

运行单个应用程序(Minecraft 服务器)时的内存情况

free -m
              Total   Used    Free    Shared    Buff/Cache    Available
Memory:        8192      1934    6103        1         154        6252

Swap:           0         0        0

ulimit

ulimit -s
8192

ulimit 所有限制

ulimit -a
core 文件大小          (blocks, -c) 0
数据段大小           (kbytes, -d) 无限制
调度优先级                 (-e) 0
文件大小               (blocks, -f) 无限制
待处理信号                 (-i) 1546762
最大锁定内存       (kbytes, -l) 16384
最大内存大小         (kbytes, -m) 无限制
打开的文件数              (-n) 1024
管道大小            (512 bytes, -p) 8
POSIX 消息队列     (bytes, -q) 819200
实时优先级              (-r) 0
栈大小                  (kbytes, -s) 8192
CPU 时间              (seconds, -t) 无限制
最大用户进程数              (-u) 62987
虚拟内存          (kbytes, -v) 无限制
文件锁                  (-x) 无限制

Java 版本

java -version
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1, mixed mode, sharing)

当我尝试启动额外的 Java 应用程序时

java -jar bot.jar
[0.063s][warning][os,thread] 无法启动线程 - pthread_create 失败 (EAGAIN)属性为stacksize: 1024kguardsize: 0kdetached
错误发生了 JNI 错误请检查您的安装并重试
在线程 "main" 中的异常 java.lang.OutOfMemoryError: 无法创建本机线程可能内存不足或达到进程/资源限制
        at java.base/java.lang.Thread.start0(Native Method)
        at java.base/java.lang.Thread.start(Thread.java:803)
        at java.base/jdk.internal.ref.CleanerImpl.start(CleanerImpl.java:118)
        at java.base/java.lang.ref.Cleaner.create(Cleaner.java:203)
        at java.base/jdk.internal.ref.CleanerFactory.<clinit>(CleanerFactory.java:42)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:724)
        at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:346)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:317)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:256)
        at java.base/sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:521)
        at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:747)
        at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:655)

我已经尝试了很多,我真的不知道该怎么办了。上次我尝试修复这个问题时,我不得不重新安装整个服务器,因为我对所有这些 Linux 的东西都很陌生。

英文:

Memory when I run one application (Minecraft Server)

free -m
              Gesamt   belegt    frei        gemns. Puffer/Cache verf&#252;gbar
Speicher:        8192        1934        6103           1         154        6252

Auslagerungsspeicher:           0           0           0

ulimit

ulimit -s
8192

ulimit all

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1546762
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 62987
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Java version

java -version
openjdk version &quot;11.0.6&quot; 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1, mixed mode, sharing)

When I try to start a additional Java Application

java -jar bot.jar
[0,063s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
Error: A JNI error has occurred, please check your installation and try again
Exception in thread &quot;main&quot; java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
        at java.base/java.lang.Thread.start0(Native Method)
        at java.base/java.lang.Thread.start(Thread.java:803)
        at java.base/jdk.internal.ref.CleanerImpl.start(CleanerImpl.java:118)
        at java.base/java.lang.ref.Cleaner.create(Cleaner.java:203)
        at java.base/jdk.internal.ref.CleanerFactory.&lt;clinit&gt;(CleanerFactory.java:42)
        at java.base/java.util.zip.ZipFile$CleanableResource.&lt;init&gt;(ZipFile.java:724)
        at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
        at java.base/java.util.zip.ZipFile.&lt;init&gt;(ZipFile.java:247)
        at java.base/java.util.zip.ZipFile.&lt;init&gt;(ZipFile.java:177)
        at java.base/java.util.jar.JarFile.&lt;init&gt;(JarFile.java:346)
        at java.base/java.util.jar.JarFile.&lt;init&gt;(JarFile.java:317)
        at java.base/java.util.jar.JarFile.&lt;init&gt;(JarFile.java:256)
        at java.base/sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:521)
        at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:747)
        at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:655)

I tried so much, I really don't know what to do anymore. Last time I tried to fix that, I had to reinstall my whole Server because I'm new with all that linux stuff

huangapple
  • 本文由 发表于 2020年4月10日 07:49:11
  • 转载请务必保留本文链接:https://java.coder-hub.com/61132015.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定