- jps
- 查看java进程
- jps -q只显示进程号,不显示短名称
- jps -m显示传递给进程的参数
- jps -l显示主函数的完整路径
- jps -v显示传递给虚拟机的参数
- jstat
- 用于观察java应用程序运行时相关信息的工具,功能非常强大
- jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
- jinfo
- 查看正在运行的java应用程序的扩展参数,甚至支持在运行时修改部分参数
- jinfo <option> <pid>
- jmap
- 导出堆到文件
- jmap -histo 2128 > info.log 生成进程2128的java程序的对象统计信息,并输出到info.log文件;
- jmap -dump:format=b,file=heap.dump 2128 将2128java进程的堆快照导出指定文件中,后期可以用分析工具(例如jhat,visual VM,MAT等)分析该快照文件;
- jmap -permstat 2128 查看2128java进程的classLoader
- jmap -finalizerinfo 2128查看2128java进程的finalizer队列;
- jhat
- jdk自带的堆分析工具
- jhat heap.dump将分析heap.dump堆信息文件,并启动http服务,可以通过输出的地址和端口查看堆信息文件中的信息。
- 支持OQL语言,方便查询堆信息中的指定内容
- jstack
- jstack [-l] <pid> -l用于打印锁的附加信息
- 不仅可以得到线程堆栈,还能帮助发现死锁现象及死锁发生的线程及死锁相关的对象,帮助解决死锁问题。
- jstatd
- jstatd用于协助jps,jstat等工具监控远程机器上的java进程
- 需要在被监控的机器上启动jstatd,然后可以通过jps IP:port监控指定IP的java进程信息,其中port为jstatd默认的1099
- jcmd
- jcmd是1.7之后新增的一个多功能合一的工具,可以用来查看java进程,导出堆,导出栈信息,执行GC命令等等
- jcmd -l列出系统中的虚拟机;
- jcmd 2128 help,获取2128虚拟机所支持的命令
- jcmd 2128 VM.uptime如果2128支持VM.uptime命令,可以通过这个命令查看运行时间;
- hprof
- 它是一个java agent工具,用于监控java应用程序运行时的cpu信息和堆信息。
- jconsole
- visual VM
- jdk自带的,支持插件,支持远程,所以可以替代上述几乎所有的工具
- BTrace
- 是visual VM的一个插件工具。
- JRockit Mission Control虚拟机诊断工具
- jdk1.7 u40之后发布的工具,但openjdk并没有包含。
java监控工具备忘
最新推荐文章于 2019-04-09 15:36:29 发布