jvm 常用命令

堆内存

image.png
  • jmap -heap pid


    image.png

图中重点信息讲述:默认的垃圾回收算法为Parallel GC ,共用了2个线程进行垃圾回收检查。堆相关信息的配置和使用率。
要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起

  • jmap -histo pid > jmaptemp.log


    image.png

使用jmap -histo[:live] pid查看堆内存中的对象数目、大小统计直方图。如果带上live则只统计活对象,jvm进行Full GC 后,进行统计。
class name是对象类型,说明如下:

B  byte
C  char
D  double
F  float
I  int
J  long
Z  boolean
[  数组,如[I表示int[]
[L+类名 其他对象
  • jmap -dump:format=b,file=文件名 [pid]
    导出Dump文件,可以用相关工具(jhat/jvisualvm/mat)进行分析。-dump:live会触发Full GC后转存Dump。
    需要注意的是,上面的导出快照命令,在1G左右JVM内存的情况下,要大概等待1分钟左右的时间,且执行时会使JVM暂停执行,因此不要在正式运行系统的高峰期或关键时刻使用。

垃圾回收

  • jstat -gcutil pid


    image.png
  1. S0 — Heap上的 Survivor space 0 区已使用空间的百分比
  2. S1 — Heap上的 Survivor space 1 区已使用空间的百分比
  3. E — Heap上的 Eden space 区已使用空间的百分比
  4. O — Heap上的 Old space 区已使用空间的百分比
  5. P — Perm space 区已使用空间的百分比
  6. YGC — 从应用程序启动到采样时发生 Young GC 的次数
  7. YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
  8. FGC — 从应用程序启动到采样时发生 Full GC 的次数
  9. FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
  10. GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

进程监控

  • jstack pid > jstacktemp.log


    image.png
    1. 线程名称:http-bio-8091-exec-71
    2. 线程类型:daemon
    3. 优先级: 6,默认是5
    4. jvm线程id:tid=0x0000000012561000,jvm内部线程的唯一标识(通过java.lang.Thread.getId()获取,通常用自增方式实现。)
    5. 对应系统线程id(NativeThread ID):nid=0x343d0,和top命令查看的线程pid对应,不过一个是10进制,一个是16进制。(通过命令:top -H -p pid,可以查看该进程的所有线程信息)
    6. 线程状态:waiting on condition
    7. 起始栈地址:[0x000000001cd2f000]
    8. Java thread statck trace:是上面at行的信息。到目前为止这是最重要的数据,Java stack trace提供了大部分信息来精确定位问题根源。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,653评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,321评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,833评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,472评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,306评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,274评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,658评论 3 385
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,335评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,638评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,697评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,454评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,311评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,699评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,986评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,254评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,647评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,847评论 2 335

推荐阅读更多精彩内容

  • jvm原理 Java虚拟机是整个java平台的基石,是java技术实现硬件无关和操作系统无关的关键环节,是java...
    AI乔治阅读 17,195评论 21 486
  • 原文阅读 前言 这段时间懈怠了,罪过! 最近看到有同事也开始用上了微信公众号写博客了,挺好的~给他们点赞,这博客我...
    码农戏码阅读 5,928评论 2 31
  • JVM常用命令: jps 显示当前运行的java进程以及相关参数 jps参数: 备注:也可以使用ps aux | ...
    忘净空阅读 4,795评论 0 6
  • jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式:jstack [option] pid; 命...
    Sanisy阅读 271评论 0 0
  • 第一章 简介 J2SE平台的一大优势是它的自动化内存管理,避免了开发者去面对内存管理的复杂性。 本文以Sun J2...
    tianyiliusha阅读 929评论 0 1