JVM监控命令和可视化监控工具

本文详细介绍了JVM监控命令,如jps、jstack、jmap、jinfo和jstat,以及如何利用它们进行性能分析。此外,还讨论了JConsole和VisualVM两款可视化监控工具,它们能提供实时的内存、线程、类和VM概述信息,帮助开发者诊断和优化Java应用程序。
摘要由CSDN通过智能技术生成

1 JVM监控命令

jps、jstack、jmap、jinfo、jstat

1.1 jps

jps主要用来输出JVM中运行的进程状态信息,包括进程ID、进程启动的路径等。

Ps -ef | grep java

1.2 jstack

如果想要查看Java进程中线程堆栈的信息,可以选择jstack。

 

用于生成当前JVM的所有线程快照,线程快照是虚拟机每一条线程正在执行的方法,目的是 定位线程长时间停顿的原因,比如线程间死锁、死循环、请求外部资源导致的长时间等待。

   -F:当正常输出的请求不被响应时,强制输出线程堆栈

   -l:除堆栈外,显示关于锁的附加信息

   -m:如果调用到本地方法的话,可以显示C/C++的堆栈

Jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以在JVM性能调优中使用非常多。

步骤:

1、找出Java进程ID。

ps -ef | grep [服务器上的Java应用名称] | grep -v grep

(grep -v grep是指过滤掉含有grep字符的行)

Eg:ps -ef | grep App

[root@localhost ~]# ps -ef | grep ApacheJetspeed

root     18887 18828  0 08:09  pts/0    00:00:00 grep ApacheJetspeed

字段含义如下:

UID     PID    PPID  C  STIME   TTY           TIME     CMD

root    18887  18828   0  08:09     pts/0    00:00:00    grep ApacheJetspeed

ps:将某个进程显示出来

-A  显示所有程序。

-e  此参数的效果和指定"A"参数相同。

-f  显示UID,PPIP,C与STIME栏位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值