现象

JVM堆设置的有时候太小了,就会出现:

java.lang.OutOfMemoryError: Java heap space
Exception in thread "AsyncAppender-Worker-async-console" java.lang.OutOfMemoryError: Java heap space

解决办法

  1. 通过设置初始堆Xms和最大堆Xmx大小,来增大JVM默认堆大小。
    "java", "-Xms2g", "-Xmx2g","-jar", "admin.jar"
    

校验该参数是否生效:

  1. 查看java进程号
    app@admin-server-5cbf47696f-xbwgg:~$ jps -l
    1 admin.jar
    165 sun.tools.jps.Jps
    
  2. 查看进程INFO信息

可以看到XX:InitialHeapSize=2147483648 -XX:MaxHeapSize=2147483648, 代表堆变成了设置的2G.

app@admin-5cbf47696f-xbwgg:~$ jinfo -flags 1
Attaching to process ID 1, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.322-b06
Non-default VM flags: -XX:CICompilerCount=2 -XX:InitialHeapSize=2147483648 -XX:MaxHeapSize=2147483648 -XX:MaxNewSize=715653120 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=715653120 -XX:OldSize=1431830528 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
Command line:  -Xms2g -Xmx2g 
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐