第4章 虚拟机性能监控、故障处理工具、内存调优

1 基础故障处理工具

jps可以用来输出JVM中运⾏的进程状态信息,显示指定系统内所有的HotSpot虚拟机进程。

jstat JVM统计信息监视工具,可以⽤于持续观察虚拟机内存中各个分区的使⽤率以及GC的统计数据。⽤于⽣成java虚拟机当前时刻的线程快照。

jinfo 作用是实时查看和调整虚拟机各项参数(配置信息)。

jmap ⽤于⽣成heap dump⽂件,可以用来查看堆内存的使⽤详情。

jstack可以用来查看Java进程内的线程堆栈信息,结合应⽤⽇志可以迅速定位到问题线程。

jhat JVM Heap Analysis Tool命令是与jmap搭配使⽤,⽤来分析jmap⽣成的dump,jhat内置了⼀个微型的HTTP/HTML服务器,⽣成dump的分析结果后,可以在浏览器中查看。

2 可视化故障处理工具

JConsole Java监视与管理控制台,监视本地和远程JVM,通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整。

VisualVM 多合-故障处理工具,提供有关在Java虚拟机中运行的基于Java技术的应用程序的详细信息,提供内存和CPU分析,堆转储分析,内存泄漏检测,访问MBean和垃圾回收。

Java Mission Control(JMC) 可持续在线的监控工具,客户端包括用于监视和管理Java应用程序的工具。可以分析本地应⽤以及连接远程ip使⽤。提供了实时分析线程、内存,CPU、GC等信息的可视化界⾯。

3 JVM内存调优

对JVM内存的系统级的调优主要的⽬的是减少GC的频率和Full GC的次数。过多的GC和Full GC是会占⽤很多的系统资源(主要是CPU),影响系统的吞吐量。

使⽤JDK提供的内存查看⼯具,⽐如JConsole和Java VisualVM。

1)监控GC的状态,使⽤各种JVM⼯具,查看当前⽇志,并且分析当前堆内存快照和gc⽇志,根据实际的情况看是否需要优化。

2)通过JMX的MBean或者Java的jmap⽣成当前的Heap信息,并使⽤Visual VM或者Eclipse⾃带的Mat分析dump⽂件。

3)如果参数设置合理,没有超时⽇志,GC频率GC耗时都不⾼则没有GC优化的必要,如果GC时间超过1秒或者频繁GC,则必须优化。

4)调整GC类型和内存分配,使⽤1台和多台机器进⾏测试,进⾏性能的对⽐。再做修改,最后通过不断的试验和试错,分析并找到最合适的参数。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值