一、Tomcat服务器部署与优化
1、使用jconsole 远程连接tomcat
修改$TOMCAT_HOME/bin/catalina.sh文件,添加如下参数:
JAVA_OPTS="。。。。" #添加如下参数
-Djava.rmi.server.hostname= 具体的IP
-Dcom.sun.management.jmxremote.port=指定端口
-Dcom.sun.management.jmxremote.rmi.port= 指定端口,与上面一致
-Dcom.sun.management.jmxremote.ssl=false
##不认证
-Dcom.sun.management.jmxremote.authenticate=false
2、在Tomcat中,进行JVM参数优化
修改$TOMCAT_HOME/bin/catalina.sh文件,添加如下参数:
JAVA_OPTS="。。。。" #添加如下参数】
-server
# 堆的最小值,即启动JVM后会直接分配这么大的堆内存
-Xms1024m
#堆的最大值,如果-Xmx设置的太小,导致内存分配失败,引起OOM的错误。
-Xmx2048m
-XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
3、在Tomcat中,记录OOM的错误
修改$TOMCAT_HOME/bin/catalina.sh文件,添加如下参数:
-server
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/bathFile/error
#当发生OOM错误的时候执行特定脚本
-XX:OnOutOfMemoryError ="/bin/bash /root/onOOM.sh
二、使用jmap分析JVM堆内存情况
jmap -dump:format=b,file=dumpTest.log -histor -permstat