JVM命令行工具

jps (java process status)查看正在运行的java进程
jps -l 显示全类名
jps -m 输出虚拟机启动时传给main函数的参数
jps -v 列出虚拟机启动时的JVM参数

jstat 查看JVM的统计信息

  • -class 打印类加载相关信息,类 的装载,卸载数量,总空间,类加载消耗时间等
    jstat -class 20780(进程ID)
    1000毫秒打印一次
    jstat -class 20780 1000
    1000毫秒打印一次,共打印10次
    jstat -class 20780 1000 10
    输出列添加Timestamp(从程序开始到现在的时间,单位秒)1000毫秒打印一次,共打印10次
    jstat -class -t 20780 1000 10
    输出列添加Timestamp(从程序开始到现在的时间,单位秒)1000毫秒打印一次,共打印10次,没输出3次打印一次表头
    jstat -class -t -h3 20780 1000 10
  • JIT 相关
    显示JIT编译过得方法,耗时信息等
    jstat -compiler 20780
    输出已经被JIT编译后的方法
    jstat -printcompilation 20780
  • GC垃圾收集器
    -gc 显示与GC相关的堆信息
    jstat -gc 20780
    -gccapacity 显示与GC大体相同,更关注java堆各个区域使用的最大、最小空间
    jstat -gccapacity 20780
    -gcutil 显示与GC大体相同,输出更关注以使用空间占总空间的百分比
    jstat -gcutil 20780
    -gccause 显示与gcutil 大体相同,但是会输出最后一次或者当前正在发生GC的原因
    jstat -gccause 20780
    -gcnew 显示新生代GC的情况
    jstat -gcnew 20780
    -gcnewcapacity 显示与gcnew大体相同,更关注java堆各个区域使用的最大、最小空间
    jstat -gcnewcapacity 20780
    -gcold 显示老年代GC的情况
    jstat -gcold 20780
    -gcoldcapacity 显示与gcold 大体相同,更关注java堆各个区域使用的最大、最小空间
    jstat -gcoldcapacity 20780
    -gcmetacapacity 显示元空间信息
    jstat -gcmetacapacity 20780
    jinfo 实时查看 和修改JVM参数
  • 查看
    查看当前程序 的系统属性信息
    jinfo -sysprops 20780
    查看曾经赋值过得的一些参数
    jinfo -flags 20780
    查看进程某个具体参数
    jinfo -flag 具体参数 20780
    jinfo -flag PrintGCDetails 20780
  • 修改 (修改是立即生效 ,只有被标记为manageable的flag才能实时被修改)
    查看manageable参数,java -XX:+PrintFlagsFinal -version
    针对boolean 类型
    jinfo -flag [+,-] 具体参数 20780
    jinfo -flag +PrintGCDetails 20780
    针对非boolean类型
    jinfo -flag 具体参数=具体值 20780
    jinfo -flag MaxHeapSize=200000 20780
  • 拓展
    java -XX:+PrintFlagsFinal >d:/1.txt 查看所有JVM最终参数 ,输出到指定位置
    java -XX:+PrintFlagsInitial 查看所有JVM参数启动时的初始化值
    java -XX:+PrintCommandLineFlags 查看那些被用户或者JVM设置过得详细的XX参数的名称和值
    jmap 导出内存映射文件和内存使用情况
  • 生成dump文件
    手动生成
    jmap -dump:format=b,file=d:\JVM\1.hprof 20556
    生成堆内存中存活的对象dump文件
    jmap -dump:live,format=b,file=d:\JVM\2.hprof 20556
    自动生成设置
    -XX:+HeapDumpOnOutOfMemoryError 发生OOM时生成快照
    -XX:HeapDumpPath 指定生成快照文件地址
  • 显示堆内存相关信息
    jmap -heap 20556 >d:\JVM\A.txt 堆内存配置信息
    jmap -histo 20556 >d:\JVM\B.txt 堆内存 对象占用情况
    jstack 打印JVM中线程快照
    jstack 20556
    jstack -F 20556 正常输出请求不被响应时强制输出
    jstack -l 20556 除堆栈外,显示锁的附加信息
    jstack -m 20556 如果调用到本地方法,则显示C/C++堆栈信息
    jstack -h 帮助操作
    jcmd 多功能命令行
    jcmd -l 列出所有的JVM进程
    jcmd 20556 help 针对指定的进程列出支持的所有命令
    jcmd 20556 具体命令 显示指定命令的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值