java常用指令

jps

jps用来查看java进程及其相关的信息
jps [options] [hostid]
options:
-l : 显示进程id,显示主类全名或jar路径
-q : 显示进程id
-m : 显示进程id, 显示JVM启动时传递给main()的参数
-v : 显示进程id,显示JVM启动时显示指定的JVM参数

jinfo

jinfo是用来查看JVM参数和动态修改部分JVM参数的命令
jinfo [option] <pid>
options:
不加[option] 输出所有的系统属性和参数
-flag 打印指定名称的参数

jinfo -flag PrintGC 58124
jinfo -flag MaxHeapSize 58124

在这里插入图片描述
-flag [+|-] 打开或关闭参数

在这里插入图片描述

-flag = 设置参数
-flags 打印所有参数
-sysprops 打印系统配置

jstat

jstat用来查看JVM运行时的状态信息,包括内存状态、垃圾回收等
jstat [option] pid [interval] [count]
interval是打印间隔时间(毫秒),count是打印次数
option:
-class: classLoader的行为统计
-compiler: HotSpt JIT编译器行为统计
-gc: 垃圾回收堆的行为统计
-gccapacity: 各个垃圾回收代容量(young,old,perm)和他们相应的空间统计
-gcutil: 垃圾回收统计概述
-gccause: 垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因
-gcnew: 新生代行为统计
-gcnewcapacity: 新生代与其相应的内存空间的统计
-gcold: 年老代和永生代行为统计
-gcoldcapacity: 年老代行为统计
-printcompilation: HotSpot编译方法统计

jstat -gcutil 58124 1000 5

在这里插入图片描述
S0 survivor0使用百分比
S1 survivor1使用百分比
E Eden区使用百分比
O 老年代使用百分比
M 元数据区使用百分比
CCS 压缩使用百分比
YGC 年轻代垃圾回收次数
YGCT 年轻代垃圾回收消耗时间
FGC Full GC垃圾回收次数
FGCT Full GC垃圾回收消耗时间
GCT 垃圾回收消耗总时间

jstat -gc 58124 1000 5

在这里插入图片描述
S0C survivor0大小
S1C survivor1大小
S0U survivor0已使用大小
S1U survivor1已使用大小
EC Eden区大小
EU Eden区已使用大小
OC 老年代大小
OU 老年代已使用大小
MC 方法区大小
MU 方法区已使用大小
CCSC 压缩类空间大小
CCSU 压缩类空间已使用大小
YGC 年轻代垃圾回收次数
YGCT 年轻代垃圾回收消耗时间
FGC Full GC垃圾回收次数
FGCT Full GC垃圾回收消耗时间
GCT 垃圾回收消耗总时间

jstack

jstack是用来查看JVM线程快照的命令,线程快照是当前JVM线程正在执行的方法堆栈集合。使用jstack命令可以定位线程出现长时间卡顿的原因,例如死锁,死循环等。jstack还可以查看程序崩溃时生成的core文件中的stack信息。
jstack [options] <pid>
option:
-F 当使用jstack 无响应时,强制输出线程堆栈
-m 同时输出java堆栈和c/c++堆栈信息(混合模式)
-l 除了输出堆栈信息外,还显示关于锁的附加信息,可以用来检查死锁

jmap

生成java程序的dump文件,也可以查看堆内对象示例的统计信息、查看ClassLoader的信息以及finalizer队列
jmap [option] <pid>
option:
如果不带option则会打印虚拟机中加载的每个共享对象的起始地址、映射大小以及共享对象文件的路径全称。
-heap 打印java heap摘要
-histo[:live] 打印堆中的java对象统计信息 加:live统计存活对象
-clstats 打印类加载器统计信息
-finalizerinfo 打印在f-queue中等待执行finalizer方法的对象
-dump:<dump-options> 生成java堆的dump文件
        -dump-options:
        live 只转储存活的对象,如果没有指定则转储所有对象
        format=b 二进制格式
        file=<file> 转储文件到file

#把java堆中的存活对象信息转储到dump.bin文件
jmap -dump:live,format=b,file=dump.bin 1284
jhat

jhat是用来分析jmap生成dump文件的命令,jhat内置了应用服务器,可以通过网页查看dump文件分析结果
jhat [option] [dumpfile]
option:
-stack false: 关闭对象分配调用堆栈的跟踪
-refs false: 关闭对象引用的跟踪
-port : HTTP服务器端口,默认是7000
-debug : debug级别
-version 分析报告版本

jhat dump.bin

进入http://localhost:7000
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值