jvm基础学习

本文介绍了一系列针对Java虚拟机(JVM)的监控及故障处理工具,包括jps、jstat、jmap、jstack、jconsole和VisualVM等。这些工具能够帮助开发者和系统管理员监控内存使用情况、垃圾回收状态、线程活动等关键信息,从而有效地定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、理解JVM虚拟机
 
         


二、监控和故障处理工具

      1、 进程状态工具  jps 
                       -l  显示主类的全类名 ;             -v  进程启动时候的参数 ;  -m  传递给main函数的参数

      2.    jstat  监视虚拟机各种运行状态,以文本的形式显示 类装载,内存,垃圾收集,JIT编译情况等信息
                    常用参数 gcutil  已使用空间占用总空间的百分比,gcnew  监视新生代的状况,gcold 监视老年的的状况

      3.  jmap 内存镜像工具,用于生成堆转储快照
           -histo  : 显示堆中对象统计信息,包括类,实例数量,合计数量
           -heap  :Java 堆详细信息,使用哪种回收器、参数配置、分带状况等 (只有在 Linux 平台下有效)
            jmap -dump:format=b,file=test.bin 7152  生成虚拟机堆转储快照文件
            jhat C:\Users\wb-gaojiangtao\test.bin   用来分析快照工具

      4. jstack Java堆栈跟踪工具 ,生成虚拟机当前时刻的线程快照; 统计出当前时刻每一个线程正在执行的方法堆栈集合,由此可以定位出  线程长时间停顿的原因,如线程间死锁、死循环、请求外部资源的长时间等待 ;
         Thread 类的 getAllStackTraces() 可以获取虚拟机中所有线程的 StatckTraceElement 对象,在实际项目中可以通过该api完成对服务器虚拟机线程的监控。
        jstack -l pid 

      5. jdk 可视化工具 jconsole 

       6 . VisualVM 虚拟机监控工具
            VisualVM是一个集成多个JDK命令行工具的可视化工具。可以作为Java应用程序性能分析和运行监控的工具。开发人员可以利用它来监控、分析线程信息,浏览内存堆数据。系统管理员可以利用它来监测、控制Java应用程序横跨整个网络的情况。Java应用程序使用人员可以利用它来创建包含所有必要信息的Bug 报告。
          
             http://www.oschina.net/p/visualvm/   
       




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值