官方网站建设的公司,建站公司网站模板,阿里巴巴外贸平台费用,wordpress 附件太小概述 性能优化的步骤 性能监控#xff1a;就是通过以非强行或入侵方式收集或查看应用程序运行状态,包括如下问题 GC频繁CPU过载过高OOM内存泄漏死锁程序响应时间较长性能分析#xff1a;通常在系统测试环境或者开发环境进行分析 通过查看程序日志以及GC日志,或者运用命令行工…概述 性能优化的步骤 性能监控就是通过以非强行或入侵方式收集或查看应用程序运行状态,包括如下问题 GC频繁CPU过载过高OOM内存泄漏死锁程序响应时间较长性能分析通常在系统测试环境或者开发环境进行分析 通过查看程序日志以及GC日志,或者运用命令行工具如jstack、jmap、jinfo等导出dump快照文件,利用内存分析工具分析文件使用阿里的arthas或者jprofiler、jconsole、jvisualvm等查看jvm状态性能优化目的就是改善应用程序的响应时间或者吞吐量 更改程序参数、源代码属性配置
注意: 为何要调优?防止出现OOM以及解决OOM和减少FGC出现的次数 JVM命令行监控工具 (适用于无GUI环境下的服务器环境且已安装完整JDK的条件下使用) jps java process status 表示查看正在运行的java进程 -l: 输出应用程序主类的全类名 jstat 查看JVM统计信息,包括虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据 -class: classLoader相关信息-gc: 显示与GC相关信息 -gc Pid(进程id):显示各指标信息 -gcutil Pid(进程id) internal(间隔多少毫秒):显示每间隔时间下各指标信息 -gcnewPid(进程id):显示新生代区信息 -gcoldPid(进程id):显示新生代区信息 jinfo 实时查看和修改jvm的配置参数信息jmap 导出内存映像文件即JVM堆快照dump文件 -dump:fileC:/tmp/dump.hprof 4040 --表示将java进程ID(4040)的堆快照文件导出到C:/tmp/dump.hprof(常常结合jps使用)jhat jdk自带堆分析工具(jdk9以后已删除该命令,官方建议使用visualVM代替)jstack 打印jvm中线程快照(即每条线程正在执行的方法的堆栈集合),常常用于定位线程出现长时间停顿的原因,如死锁、死循环、请求外部资源导致长时间等待 在thread dump中,重点关注如下几种状态死锁 Deadlock等待资源 Waiting on condition等待获取监视器 Waiting on monitor entry阻塞 Blocked JVM监控及诊断的GUI工具
visual VM(jdk自带产品) 比jconsole工具强大多了 Jprofiler(商业收费,功能全面) window下可视化分析工具 Arthas(目前市场上比较流行,可以集成到项目中,在系统运行过程中动态查看内存等相关状态)
注意 a.从官网下载arthas后确保本地jdk已安装成功; b.系统正常运行后启动arthas进行诊断监测项目。(选择项目pid进行后续诊断)
阿里的开源产品组件官网简介 | arthas window下可视化分析工具