jvm调优常用命令
一、ps+top+jstack,查看cpu过高的线程信息
1、lsof -i:8401 通过启动的端口号查找进程ID
2、top -Hp pid 获取线程耗费cpu或时间最高的线程号
3、printf “%x\n” 21742 将线程号21742转化16进制
4、jstack pid | grep 54ee
二、ps+top+jmap+jhat,查看线程堆内存使用信息
1、ps aux|grep mypro 通过ps命令查找进程ID
2、top -Hp pid 获取线程
3、jmap -dump:format=b,file=/tmp/dump.dat 21711 对21711的进程进行Dump
4、jhat -port 9998 /tmp/dump.dat jhat使用9998端口查看命令
5、10.10.32.158:9998 在浏览器中输入主机地址:9998查看
6、在页面上搜索WebappClassLoader,找到他的上级引用,一层一层点进去往上找,直到找到相关联的类信息
三、jmap
jmap:查看类加载器与持久代信息,还可查看堆内存信息,执行dump命令将信息导入文件中
jmap -heap 21711 查看进程堆内存使用情况—-观察各个分区情况
jmap -histo:live 21711 | more 查看进程堆内存详细使用情况
jmap -dump:format=b,file=/tmp/dump.dat 21711 对21711的进程进行Dump
还有其它工具TProfiler
四、jstack
jstack 21711 查看进程下所有线程栈信息,检查是否死锁
五、vmstat 180 20 3分钟(180秒)统
还没有评论,来说两句吧...