一、环境介绍
环境描述:WINDOW10
JDK环境:JDK1.8.10(非OPEN JAVA JDK)
目标进程:TOMCAT下的WEB程序以SERVCIE服务进行安装

二、具体步骤
1. 下载arthas工具包到目标服务器,安装包在arthas官网

2. 解压安装包,看到如下内容,其中arthas-boot.jar为可执行JAR包

3. 运行命令控制台,输入正确的java -jar arthas-boot.jar PID(进程号) 命令
--如下所示为错误的输入方式,提示无法找到JAVA进程。

--原因:TOMCAT的JAVA进程以WINDOWS SERVCIE的服务方式启动,ARTHAS无法识别。
--解决方式:通过桌面右键任务管理器找到需要监控的JAVA服务所在进程号,如下图所示监视的JAVA任务进程ID为22124

输入如下的命令,可见ARTHAS服务正常启动了

4. 正常运行arthas常见命令

三、
目录
调优策略
GC 调优目的
将转移到老年代的对象数量下降到最小;
减小 GC 的执行时间。svg
策略 1:性能
将新对象预留在新生代,因为 Full GC 的成本远高于 Minor GC,所以尽量将对象分配在新生代是明智的作法,实际项目中根据 GC
日志分析新生代空间大小分配是否合理,适当经过“-Xmn”命令调节新生代大小,最大限度下降新对象直接进入老年代的状况。优化
策略 2:3d
大对象进入老年代,虽然大部分状况下,将对象分配在新生代是合理的。可是对于大对象这种作法却值得商榷,大对象若是首次在新生代分配可能会出现空间不足致使不少年龄不够的小对象被分配的老年代,破坏新生代的对象结构,可能会出现频繁的
full
gc。所以,对于大对象,能够设置直接进入老年代(固然短命的大对象对于垃圾回收老说简直就是噩梦)。-XX:PretenureSizeThreshold
能够设置直接进入老年代的对象大小。日志
策略 3:xml
合理设置进入老年代对象的年龄,-XX:MaxTenuringThreshold 设置对象进入老年代的年龄大小,减小老年代的内存占用,下降
full gc 发生的频率。对象
策略 4:
设置稳定的堆大小,堆大小设置有两个参数:-Xms 初始化堆大小,-Xmx 最大堆大小。
策略5:
注意:若是知足下面的指标,则通常不须要进行 GC 优化:
MinorGC 执行时间不到50ms;
Minor GC 执行不频繁,约10秒一次;
Full GC 执行时间不到1s;
Full GC 执行频率不算频繁,不低于10分钟1次。