美文网首页
Java性能优化权威指南

Java性能优化权威指南

作者: 一蓬蒿人 | 来源:发表于2019-12-28 14:05 被阅读0次

    第一章 方法论

    性能分析策略

    • 自顶向下
    • 自底向上

    第二章 操作系统性能监控

    三部曲

    • 性能监控:收集或查看应用运行性能数据
    • 性能分析:对性能监控所产生的问题进行回应
    • 性能调优:改善系统应用响应性或吞吐量等活动

    CPU使用率

    vmstat命令

    • us:用户态CPU使用率
    • sy:内核态CPU使用率
    • id:CPU空闲率

    top命令

    CPU调度程序运行队列

    运行队列是那些已准备好运行,正等待可用CPU的轻量级进程,用于分辨系统是否满负荷,队列越长,表示系统已饱和。
    vmstat命令

    • r:运行队列长度

    内存使用率

    监控内存相关属性,页调度、页交换、加锁、线程上下文切换等。
    vmstat命令

    • free:空闲内存
    • si:内存页换入数量
    • so:内存页换出数量

    网络I/O使用率

    nicstat包


    磁盘I/O使用率

    iostat -xm


    第三章 JVM预览

    HotSpot VM三组件

    • VM运行时(Runtimec)
    • JIT编译器(JIT Compiler)
    • 内存管理器(Memory Manager)

    Runtimec

    命令行选项

    • 标准选项
    • 非标准选项(-X)
    • 为稳定选项(-XX)

    第四章 JVM性能监控

    垃圾回收

    • GC日志分析
    • GCHisto离线分析工具
    • JConsole
    • VisualGC
    • VisualVM

    第五章 Java应用性能分析

    • Performance Analyzer
    • NetBeans Profiler

    术语

    • 性能分析器(Profiler)
    • 性能文件(Profile)
    • 开销(Overhead)
    • 调用树(Call Tree)
    • 过滤器(Filter)

    第六章 Java应用性能分析技巧

    分类

    • 使用更高效的算法
    • 减少锁竞争
    • 为算法生成更有效率的代码

    技巧

    • volatile使用
    • 调整数据结构大小
    • 增加并行性

    第七章 JVM性能调优入门

    调优流程

    垃圾收集调优基础

    性能指标

    • 吞吐量
    • 延迟
    • 内存使用

    命令选项

    • -XX:+PrintGCTimeStamps:JVM启动到垃圾回收开始的时间
    • -XX:PrintGCDetails:提供垃圾收集器相关的统计数据
    • -Xloggc:<filename>:指定GC日志文件

    内存使用

    堆空间

    • -Xmx:最大值
    • -Xms:最小值

    新生代

    • -XX:NewSize:新生代最小值
    • -XX:MaxNewSize:新生代最大值
    • -Xmn:新生代大小

    永久代

    • -XX:PermSize:永久代最小值
    • -XX:MaxPermSize:永久代最大值

    调优延迟/响应性

    优化新生代大小

    Minor GC的频率和时间

    优化老年代大小

    Full GC的频率和时间

    相关文章

      网友评论

          本文标题:Java性能优化权威指南

          本文链接:https://www.haomeiwen.com/subject/iqfsoctx.html