jvm排查工具
jps
jps -mvl --查看java的ps进程。
jstack
打印一个线程堆栈信息
top -H -p pid1 -> 得到占用资源大的pid2
jstack pid1 | grep "nid=0x printf "%x\n" pid2" -A 100打印后面100行(-C 打印前后100行 -B 打印前一百行)
jmap
jmap -dump:format=b,file=test.bin 4939 --tomcat pid
1.top看java进程的cpu和mem是否高。记录下java pid号
2.jstack -l 9547 > 9547.stack --将1得到java pid号堆栈dump下来。
3.top -H -p 9547 -- java pid 得到该进程下cpu高的pid号
4.printf 0x%x 9054 --将3得到的pid进行16进制。可以在2中dump下来的文件中找到相应的线程。
jmap -heap pid --查看内存
1.jmap -heap ${pid} (内存概述)
可查看当前内存配置
2.jmap -histo ${pid} (内存比对)
-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。
3.jmap -dump (内存分析)
jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具(Memory Analysis Tool),使用参见:http://blog.csdn.net/fenglibing/archive/2011/04/02/6298326.aspx)或与jhat (Java Heap Analysis Tool)一起使用,能够以图像的形式直观的展示当前内存是否有问题。
4.core dump开关
dump文件可以在程序crash的时候方便查看crash的上下文信息。
查看是否已打开
ulimit -c unlimited就可以了。只对当前对话有效
想长期有效:/etc/profile文件中找到 ulimit -S -c 0 > /dev/null 2>&1.ok 找到0改为unlimited,source /etc/profile使其生效。
core文件位置:默认与可执行程序同一目录下。文件名为core.<pid>
文件名模式保存在/proc/sys/kernel/core_pattern缺省是core
可通过以下命令修改core dump
echo PATH > /proc/sys/kernel/core_pattern
jvm排查工具的更多相关文章
- jvm排查问题常用命令及注释
本文将介绍JDK自带的JVM排查工具.其提供的排查工具有: (1)jps:JVM Process Status Tool,显示系统内所有的JVM进程: (2)jstat:JVM Statistics ...
- JVM故障处理工具,使用总结
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 用都用不到怎么学? 没有场景.没有诉求,怎么学习这些似乎用不上知识点. 其实最好的方 ...
- erlang 故障排查工具
系统级别perf top, dstat -tam, vtune 都能很好分析beam 瓶颈,本文主要erlang 级别排查: 1. 反编译 确认线上运行代码是否正确,reltools没掌握好,升级偶尔 ...
- JVM监测&工具[转]
通过工具及Java api来监测JVM的运行状态, 需要监测的数据:(内存使用情况 谁使用了内存 GC的状况) 内存使用情况--heap&PermGen @ 表示通过jmap –heap pi ...
- paip.提升性能---jvm java 工具使用.
paip.提升性能---jvm java 工具使用. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...
- JVM系列五:JVM监测&工具[整理中]
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案.正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并 ...
- JVM系列五:JVM监测&工具
JVM系列五:JVM监测&工具[整理中] http://www.cnblogs.com/redcreen/archive/2011/05/09/2040977.html 前几篇篇文章介绍了介 ...
- Java虚拟机------JVM分析工具
主要介绍JVM的分析工具: jps jps:Java Virtual Machine Process Status Tool http://docs.oracle.com/javase/1.5.0/d ...
- JVM检测&工具
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案.正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并 ...
随机推荐
- qmake理解(还可以加入Lex Yacc文件)
关于qmake,好一段时间令我一头雾水,不知道用来干嘛的,只知道怎么用,而且也只懂那么一两个命令,详细看过资料以后整理如下: 1.首先,感性的认识是,qmake可以利用源文件(包括头文件h,实现文件c ...
- oracle常用的SQL语句
一些常用的SQL语句: --建表 create table adolph (id number(10,0), name varchar2(20), ...
- php--yii框架中的ajax分页与yii框架自带的分页
要想使用Yii分页类 第一步:在控制器层加载分页类 use yii\data\Pagination; 第二步: 使用model层查询数据,并用分分页,限制每页的显示条数 $data = Zhao::f ...
- 关于TCP传输速率的测量方法
人们非常关心下载速度,对于使用非包月宽带以及使用付费CDN的用户而言,这是典型的拿钱买时间的行为,我支付的费用越高,希望的下载速度越快,所使用的累积带宽越大.关于各种测速方法也是汗牛充栋了,本文介绍一 ...
- C# winForm程序开机启动和托盘显示 (转http://blog.csdn.net/xinyue3054/article/details/6599508)
这段时间一直进行cs项目,故整理下开机自动运行.托盘.显示.隐藏. (1).在窗口上点击关闭按钮或者最小化时将托盘显示: (2).双击托盘图标显示窗口: (3).右键点击托盘图标提供三个菜单选项,“退 ...
- ubuntu12.04进入单用户模式
更改ubuntu配置文件出错了,只能进入单用户模式改回来. 转载至: http://blog.csdn.net/lfyaa/article/details/9899497 1.重启ubuntu,VMw ...
- LeetCode Course Schedule II
原题链接在这里:https://leetcode.com/problems/course-schedule-ii/ 题目: There are a total of n courses you hav ...
- Basic motion detection and tracking with Python and OpenCV
http://www.pyimagesearch.com/2015/05/25/basic-motion-detection-and-tracking-with-python-and-opencv/
- saltstack之(十)扩展组件salt-ssh
场景:公司有50台服务器,需要安装salt-minion客户端,并完成与salt-master的认证,接受salt-master的管理.本片文章只用了2台服务器做演示,大家可以在roster文件中定义 ...
- ESXI
ESXI设置时间 esxi设置时间命令:Usage: esxcli system time set [cmd options] Description: set ...