如何监控java进程

如何监控java进程,第1张

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。

现实企业级Java开发中,有时候我们会碰到下面这些问题:

OutOfMemoryError,内存不足

内存泄露

线程死锁

锁争用(Lock Contention)

Java进程消耗CPU过高

......

这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求

A、 jps(Java Virtual Machine Process Status Tool)

jps主要用来输出JVM中运行的进程状态信息

B、 jstack

jstack主要用来查看某个Java进程内的线程堆栈信息。

C、 jmap(Memory Map)和jhat(java Heap Analysis Tool)

jmap用来查看堆内存使用状况,一般结合jhat使用。

D、jstat(JVM统计监测工具)

启动jvisualvm。

首先到JDK安装目录/bin目录下,双击jvisualvm.exe文件启动。

进入jvisualvm界面,右侧为正在运行的Java程序,打开了一个jconsole程序来做示例。

双击要监控的Java进行,有关监控进程的概要,监控,线程等信息都会以图像的方式显现出来,能更方便的对Java运行程序做分析。

右键左边栏,正在运行的Java程序,可以执行Dump,线程,Dump堆的操作并且可以将正在运行的程序进行快照储备,同时可以设置在发生内存溢出时自动生成Dump文件。

右键【文件】-->【添加远程主机】可对远程运行的Java程序进行监控。

菜单栏,工具-->插件 辅助功能 可以帮助更细致对Java程序进行监视分析,比如Visual GC 能显示年轻代里的Eden区和survivor区的实时数据。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/516594.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-20
下一篇2023-06-20

发表评论

登录后才能评论

评论列表(0条)

    保存