JVM线上处理OOM工具jps、jstat、jmap、jhat
命令 | 描述 |
---|---|
jps | 找出线程 |
jps –l | 输出主类或者jar的完全路径名 |
jps –v | 输出jvm参数 |
jstat -gc PID | 找到linux服务器上的java进程PID(主要就用这个) |
jstat的其他命令 | |
jstat -gccapacity PID | 堆内存分析 |
jstat -gcnew PID | 年轻代GC分析,这里的TT和MTT可以看到对象在年轻代存活的年龄和存活的最大年龄 |
jstat -gcnewcapacity PID | 年轻代内存分析 |
jstat -gcold PID | 老年代GC分析 |
jstat -gcoldcapacity PID | 老年代内存分析 |
jstat -gcmetacapacity PID | 元数据区内存分析 |
jmap | 了解系统运行时的内存区域 |
jmap -heap PID | 打印出堆内存各区域的使用情况 |
jmap -histo PID | 了解系统运行时的对象分布 |
jmap -dump:live,format=b,file=dump.hprof PID | 当前目录下生成堆内存快照文件dump.hprof,二进制文件 |
jhat -port 7000 dump.hprof | 启动jhat服务器,指定端口号,默认7000,然后就可以在浏览器访问这个端口,以图形化方式分析上一步的堆内存快照 |