Linux中解决Tomcat内存溢出可从以下方面入手:
catalina.sh(或setenv.sh),增加堆内存:export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m"(根据服务器内存调整,建议Xms和Xmx设为相同值)。-XX:MetaspaceSize和-XX:MaxMetaspaceSize。conf/server.xml,合理设置maxThreads(如根据负载调整为200),避免线程过多占用内存。ulimit -n调整文件描述符数量,修改/etc/security/limits.conf提升上限。关键命令:
top -p $(pgrep -f tomcat)jmap -dump:format=b,file=/tmp/heap.hprof $(pgrep -f tomcat)jstack $(pgrep -f tomcat)参考来源: