Linux下Tomcat内存管理实操指南
一 内存结构与关键参数
二 在Linux中设置JVM内存参数
JAVA_OPTS="-server \
-Xms2048m -Xmx2048m \
-Xmn512m \
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \
-Xss256k \
-verbose:gc -Xloggc:gc.log"
JAVA_OPTS="-server \
-Xms1024m -Xmx1024m \
-XX:PermSize=128m -XX:MaxPermSize=256m \
-Xss256k"
三 监控与常见OOM定位
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
使用JConsole/VisualVM连接9090端口,实时查看堆/非堆、线程、类加载等指标。四 垃圾回收器选择与调优要点
五 生产配置示例与注意事项
JAVA_OPTS="-server \
-Xms4096m -Xmx4096m \
-Xmn1024m \
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \
-Xss256k \
-verbose:gc -Xloggc:gc.log"
JAVA_OPTS="-server \
-Xms2048m -Xmx2048m \
-Xmn512m \
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \
-Xss256k"