• 创建: 刘新宇,最新修改: 大约3小时以前

转至元数据起始

0.分类

功能
命令
线程 jstack
内存 jmap
性能 jstat

1.查找到Jvm的进程id,以后所有命令基本都需要

jps
# 附带jvm参数信息
jps -v
# 只显示id
jps -q
#输出main method的参数
jps -m
#输出完全的包名,应用主类名,jar的完全路径
jps -l
# 向下个命令输出pid
jps | grep 'Bootstrap' awk '{print $1}' |

2.jstat命令使用

jps  -opt  pid -h n (每隔多少行出现行头)interval(间隔多久)  count(多少次)
# 查询gc百分比
jstat -gcutil pid 1000
# 显示三代的使用量
jstat -gccapacity pid 1000
# 显示加载class的数量,及所占空间等信息
jstat -class pid
# 显示VM实时编译的数量等信息
jstat -compiler pid
# 可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gc pid
# 当前VM执行的信息
jstat -printcompilation pid
# 用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因
jstat -gccause pid
 

3.jinfo可以输出并修改运行时的java 进程的参数

jinfo -opt  pid
# 打印所有pid相关的vm配置
jinfo pid
# 只显示某个配置 例如永久代:MaxPermSize
jinfo -flag MaxPermSize pid
# -flag [+|-]< name >:设置或取消指定java虚拟机参数的布尔值
jinfo -flag +PrintGCDetails 2000
# jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改

4.jmap打印出某个java进程内存内的,所有‘对象’的情况

jmap  -opt  pid
# 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件
jmap -dump:format=b,file=test.bin pid
# 打印正等候回收的对象的信息
jmap -finalizerinfo pid
# 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况
jmap -heap pid
# 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
# 统计大对象的时候很实用 但是会触发一次full gc
jmap histo:live pid | head -n 23
# 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来
jmap -permstat pid
 

5.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息

jstack -opt  pid
# 一般使用是将jstack的结果输出到文件中来查看
jstat pid > jstat01.log
# 或者直接使用grep查找
jstat pid |grep -C 10 pid(16进制转换之后)
# 或者直接搜索关键字 Deadlock 之类的

转换工具 http://tool.oschina.net/hexconvert

dump 文件里,值得关注的线程状态有:
     死锁,Deadlock(重点关注)
     执行中,Runnable  
     等待资源,Waiting on condition(重点关注)
     等待获取监视器,Waiting on monitor entry(重点关注)
     暂停,Suspended
     对象等待中,Object.wait() 或 TIMED_WAITING
     阻塞,Blocked(重点关注) 
     停止,Parked

参考:

1.http://blog.csdn.net/fenglibing/article/details/6411951

2.http://xianqi-h.iteye.com/blog/1346491

3.http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html

4.http://fengbin2005.iteye.com/blog/2167316

线上问题排查命令----JVM篇相关推荐

  1. Java开发必须掌握的线上问题排查命令

    作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题.这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查.由于在生产环境中,一般没办法 ...

  2. JVM线上问题排查命令

    转载:https://blog.csdn.net/u010827436/article/details/46564641 0.分类 功能 命令 线程 jstack 内存 jmap 性能 jstat 1 ...

  3. 阿里线上bug排查命令

    Linux命令类 tail 最常用的tail -f tail -300f shopbase.log #倒数300行并进入实时监听文件写入模式 grep grep forest f.txt #文件查找 ...

  4. 【面试篇】Java自带的线上问题排查工具

    [面试篇]Java自带的线上问题排查工具 (1)jps命令 来查看虚拟机进程状态工具 jps是Java提供的一个显示当前所有Java进程的pid的命令,适合查看当前Java进程的一些简单情况.类似于p ...

  5. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  6. 深入了解JVM之线上问题排查及工具使用(五)

    文章目录 一.前言 二.常用工具和命令 三.问题分类以及处理策略 1.业务日志 2.死锁 3.OOM相关 4.线程block.线程数暴涨 四.参考 一.前言     线上问题排查是每一个程序员都应该具 ...

  7. JAVA线上问题排查及常用命令

    前言 线上问题排查是程序员绕不开路.线上故障主要会包括 CPU.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如 jstack.jm ...

  8. JVM 线上故障排查

    JVM 线上故障排查 Linux 1.1 CPU 1.2 内存 1.3 存储 1.4 网络 一.CPU 飚高 寻找原因 二.内存问题排查 三.一般排查问题的方法 四.应用场景举例 4.1 怎么查看某个 ...

  9. 【深入理解JVM】JAVA线上故障排查全套路

    线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基 ...

最新文章

  1. java架构师,必须掌握的几点技术?
  2. 《java入门第一季》之面向对象面试题(继承中构造方法的关系)
  3. 2.18-2.20 特殊权限和软硬链接
  4. c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!
  5. MySQL常用权限的解释
  6. LeetCode 738. 单调递增的数字(贪心)
  7. phpcms如何修改数据库图片地址?域名变更后图片附件路径只能手动修改数据库更新?
  8. 牛客网华为机试考试java_牛客网——华为机试(题17:坐标移动)(Java)
  9. TABLE与DIV的取舍
  10. Debian8.1 安装samba与windows共享文件,在系统重启后samba服务无法自动启动
  11. 很多人问中国网络安全行业怎么样?这篇文看完让你彻底了解中国网络安全行业的全景
  12. 学习微积分60年有感(III)
  13. k8s1.23 Ingress-nginx实操
  14. Mac 下 unrar 命令
  15. ABAP的PO接口调用
  16. 关于百度地图和高德地图,关于地图坐标系
  17. 新概念模拟电路——晶体管构建的放大电路静态分析
  18. 阿里成立MMC事业群,社区团购为何如此火?
  19. 机器人的弊议论文_机器人的利弊作文800字
  20. 试简介视频编码技术?——知乎大神神回答

热门文章

  1. Azkaban任务流编写
  2. solidworks学习记录(等距实体命令))
  3. 看了上百篇文章,我希望用我方式让大家通俗理解CNN
  4. 嵌入式就应该这样学!!
  5. 项目实战-瑞吉外卖day02(B站)持续更新
  6. CRM2009概况(转载)
  7. whale系统实战,聊聊用户认证
  8. 饼图审美疲劳?来试试扇形图(彩虹图)吧
  9. line vty 0 4什么意思
  10. mc手机版服务器显示坐标,我的世界手游怎么查看坐标 我的世界手机版怎么看坐标定位...