dump
env.java.opts: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/load/data/metaspace.hprof
fullgc log
env.java.opts: -Xloggc:/load/data/gc.log -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=20M -XX:+PrintPromotionFailure -XX:+PrintGCCause
jps:查看所有的jvm进程,包括进程ID,进程启动的路径等等。
jstack:观察jvm中当前所有线程的运行情况和线程当前状态。
jstat:利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对进程的classloader,compiler,gc情况;
jmap:监视进程运行中的jvm物理内存的占用情况,该进程内存内,所有对象的情况,例如产生了哪些对象,对象数量;
jinfo:观察进程运行环境参数,包括Java System属性和JVM命令行参数。
JVM Metaspace
1.存放JVM加载类的元数据信息
2.加载了大量的第三方包需要加大
jvisualvm远程监控JVM
cd ${JAVA_HOME}/bin
vim jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=ip -p 1099