Fork me on GitHub

Java-JVM 参数详解

JVM 基本参数

-Xmx: 运行最大内存(memory maximum)

是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出 OutOfMemory 异常。堆的最大内存数,等同于 -XX:MaxHeapSize

-Xms启动内存(memory startup)

是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。堆的初始化初始化大小

-Xmn:(memory nursery/new)

堆中新生代初始及最大大小,如果需要进一步细化,初始化大小用 -XX:NewSize,最大大小用 -XX:MaxNewSize

-Xss:(stack size)

线程栈大小,等同于 -XX:ThreadStackSize

jvm 设置的值查看

执行 ps -ef | grep tomcatps -ef | grep java输出如下

root  1882 1  0 8 月 02 ?   01:39:42 /root/SoftwareInstall/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-geoserver/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server 
-Xms3072M -Xmx3072M -Xmn512M -Xss512k 
-XX:+AggressiveOpts -
.....
org.apache.catalina.startup.Bootstrap start

如果没有设置,默认是不会有 -Xms3072M -Xmx3072M -Xmn512M -Xss512k 值打印

docker-compose 设置 jvm

environment:
  - JAVA_OPTS= '-Xmx3072m'

JVM 问题总结

geoserver 添加图层预览时提示java.lang.OutOfMemoryError: GC overhead limit exceeded 该错误

解决把 -Xmx 设置更大

赞赏是最好的支持与鼓励!
-------------本文结束感谢您的阅读-------------