查看日志定位问题
检查Tomcat日志(logs/catalina.out等),确认是否为OutOfMemoryError,并区分是堆内存(Heap)还是元空间(Metaspace)溢出。
调整JVM内存参数
bin/catalina.sh(Linux)或bin/catalina.bat(Windows),增加堆内存:JAVA_OPTS="-Xms512m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
(Java 8+用Metaspace替代PermGen)。JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
```。
分析内存泄漏
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump.hprof,用Eclipse MAT等工具分析大对象。优化Tomcat配置
conf/server.xml中<Executor>的maxThreads属性。升级与监控
系统级优化
ulimit -n提高文件描述符限制)。注意:修改配置后需重启Tomcat生效,优先通过调整代码和JVM参数解决问题,避免盲目增加内存。