jvmAndroid知识Android开发

《深入理解Java虚拟机》读书笔记3:虚拟机性能监控与调优实战

2017-03-19  本文已影响284人  ginobefun

国内JVM相关书籍NO.1,Java程序员必读。读书笔记第三部分对应原书的第四章和第五章,主要介绍虚拟机的性能监控、故障处理及调优实战。

第四章 虚拟机性能监控与故障处理工具

概述

定位问题时,知识和经验是关键基础、数据(运行日志、异常堆栈、GC日志、线程快照、堆转储快照)是依据、工具是运用知识处理数据的手段。

JDK的命令行工具

Sun JDK工具

jps: 虚拟机进程状况工具

jsp options
jsp

jstat:虚拟机统计信息监视工具

jstat options
jstat

jinfo:Java配置信息工具

jinfo

jmap:Java内存映像工具

jmap options
jmap

jhat:虚拟机堆转储快照分析工具

jhat
jhat效果

jstack:Java堆栈跟踪工具

jstack options
jstack

HSDIS:JIT生成代码反编译

HSDIS
HSDIS Output

JDK的可视化工具

JConsole:Java监视与管理控制台

VisualVM:多合一故障处理工具

VisualVM

本章小结

本章介绍了随JDK发布的6个命令行工具以及两个可视化的故障处理工具,灵活运行这些工具可以给问题处理带来很多便利。我的总体感觉是可视化工具虽然强大,但是加载速度相比命令行工具慢很多,这个时候专注于某个功能的命令行工具是更优的选择。

第五章 调优案例分析与实战

概述

除了第四章介绍的知识和工具外,在处理实际问题时,经验同样很重要。

案例分析

以下的案例大部分来源作者处理过的一些问题,还有小部分是网络上笔记有代表的案例总结。

高性能硬件上的程序部署策略

问题描述
问题分析
解决办法

集群间同步导致的内存溢出

问题描述
问题分析
解决办法

堆外内存导致的溢出错误

问题描述
堆外内存溢出日志
问题分析

外部命令导致系统缓慢

问题描述
问题分析

服务器JVM进程奔溃

问题描述
JVM进程奔溃日志
问题分析

不恰当数据结构导致内存占用过大

问题描述
不恰当数据结构GC日志1
不恰当数据结构GC日志2
问题分析

由Windows虚拟内存导致的长时间停顿

问题描述
虚拟内存案例日志
问题分析

实战:Eclipse运行速度调优

Eclipse调优

本章小结

Java虚拟机的内存管理和垃圾收集是虚拟机结构体系最重要的组成部分,对程序的性能和稳定性有非常大的影响。通过案例和实战部分,加深了对前面理论知识和工具的理解。

系列读书笔记

扫一扫 关注我的微信公众号
上一篇下一篇

猜你喜欢

热点阅读