JVM常用
一、JVM
1、如果JVM进程静悄悄退出怎么办?
1、JVM自身OOM导致
heap dump on oom,这种最容易解决
2、JVM自身故障
日志文件hs_err_pid.log,也可指定-XX:ErrorFile=/var/log/hs_err_pid.log
超级复杂的文件 包括:crash线程信息 safepoint信息 锁信息 native code cache , 编译事件, gc相关记录 jvm内存映射 等等
3、被Linux OOM killer杀死
日志位于/var/log/messages
egrep -i 'killed process' /var/log/messages
4、硬件或内核问题
dmesg -T | grep java
2、如何排查直接内存?
1、NMT打开 – -XX:NativeMemoryTracking=detail
2、perf工具
3、gperftools
3、32G内指针压缩生效
4、-server的特点
-client:设置jvm使用client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或者PC应用开发和调试。
-server:设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。一定要作为第一个参数,在多个cpu时性能佳
-server:设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。一定要作为第一个参数,在多个cpu时性能佳
二、MAT
1、OQL去重(1.9.1存在bug,1.11.0正常)
select DISTINCT toString(d.value) from com.xx.xx.DimensionValue d where d.name.toString()="MD_ORG_CODE"
2、MAT: Go Into看更深一级

浙公网安备 33010602011771号