0
点赞
收藏
分享

微信扫一扫

jvm专题系列-7、性能监控工具

梯梯笔记 2022-03-13 阅读 51

1、系统性能监控

确定系统运行的整体状态,基本定位问题所在

1.1 uptime

系统时间
运行时间
    例子中为7分钟
连接数
    每一个终端算一个连接
1,5,15分钟内的系统平均负载
    运行队列中的平均进程数

1.2 top

同uptime

 

1.3 vmstat

 

1.4 pidstat

细致观察进程
需要安装
    sudo apt-get install sysstat
监控CPU
监控IO
监控内存

 

 

2、Java自带的工具

查看Java程序运行细节,进一步定位问题

 

2.1 jps

列出java进程,类似于ps命令
参数-q可以指定jps只输出进程ID ,不输出类的短名称
参数-m可以用于输出传递给Java进程(主函数)的参数
参数-l可以用于输出主函数的完整路径
参数-v可以显示传递给JVM的参数
​

 

 

2.2 jinfo

可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数
-flag <name>:打印指定JVM的参数值
-flag [+|-]<name>:设置指定JVM参数的布尔值
-flag <name>=<value>:设置指定JVM参数的值
​

 

2.3 jmap

 

2.4 Dump堆

 

2.5 jstack

打印线程dump
-l 打印锁信息
-m 打印java和native的帧信息
-F 强制dump,当jstack没有响应时使用
​

 

2.6 JConsole

 

 

 

 

2.7 Visual VM

 

 

 

 

 

3、实战分析

3.1 示例1

运行一程序ThreadBlockMain,期望输出Hello,World ,结果在程序运行后,程序卡死,没有预期输出。
​

 

3.1 示例2

Java程序HoldCPUMain运行后,发现占用CPU很高,希望能找到原因。

步骤1:

 

步骤2:

 

步骤3:

 

3.3 示例:死锁

 

步骤1:

 

步骤2:

 

举报

相关推荐

0 条评论