金沙澳门官网网址Linux下Tomcat开启查看GC日志,

作者: 金沙澳门官网网址  发布:2019-09-05

正文收音和录音在Linux运营集团架构实战体系

一、开启GC日志

1、在汤姆cat 的安装路线下,找到bin/catalina.sh 加上上边包车型客车配置,具体参数,本身配置:

[root@CentOS7 tomcat]# vim bin/catalina.sh

JAVA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX: UseConcMarkSweepGC -Xloggc:/usr/local/tomcat/logs/tomcat_gc.log'

金沙澳门官网网址 1

2、重启tomcat

[root@centos7 ~]# systemctl restart tomcat

3、查看GC日志

[root@centos7 ~]# cat /usr/local/tomcat/logs/tomcat_gc.log

金沙澳门官网网址 2

 若只是利用,搞懂配置,只需看第二、三、四就可以;若想越来越深刻的领会GC,请详细看完~

一、开启GC日志

1、在汤姆cat 的安装路线下,找到bin/catalina.sh 加上下边包车型大巴安顿,具体参数,自身布署:

[root@centos7 tomcat]# vim bin/catalina.sh

JAVA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX: UseConcMarkSweepGC -Xloggc:/usr/local/tomcat/logs/tomcat_gc.log'

金沙澳门官网网址 3

2、重启tomcat

[root@centos7 ~]# systemctl restart tomcat

3、查看GC日志

[root@centos7 ~]# cat /usr/local/tomcat/logs/tomcat_gc.log

金沙澳门官网网址 4

 若只是使用,搞懂配置,只需看第二、三、四就能够;若想更加尖锐的询问GC,请详细看完~

 

二、GC日志剖判

GC 日志剖判,需利用windows 的GC日志深入分析工具gchisto;

gchisto 工具的源下载地址已经失效,笔者早就寄放在网盘

二、GC日志深入分析

GC 日志剖析,需利用windows 的GC日志深入分析工具gchisto;

gchisto 工具的源下载地址早已失效,笔者已经存放在网盘,需求的私聊我

1、windows 安装java 环境

(1)去官方网址下载本人想要的JDK版本

下载,必需点击同意协商

金沙澳门官网网址 5

(2)安装JDK1.8版本

金沙澳门官网网址 6

安装自个儿的装置路线,撤消布告JRE

金沙澳门官网网址 7 

金沙澳门官网网址 8 

金沙澳门官网网址 9

(3)设置3个碰着变量

① 找到自己设置jdk的bin路线,笔者的装置路线是 C:Program Files (x86)Javajdk1.8.0_171

金沙澳门官网网址 10

② 在高级系统装置--->情形变量--->新建

新建2个意况变量:

  JAVA_HOME

  CLASSPATH

金沙澳门官网网址 11 

金沙澳门官网网址 12

修改一个变量:Path

金沙澳门官网网址 13

(4)安装收尾,测量检验

java、javac、java -version 三个指令会有以下职能

金沙澳门官网网址 14 

金沙澳门官网网址 15 

金沙澳门官网网址 16

1、windows 安装java 环境

(1)去官方网站下载自个儿想要的JDK版本

下载,必需点击同意协商

金沙澳门官网网址 17

  

(2)安装JDK1.8版本

金沙澳门官网网址 18

设置自身的安装路线,撤废公告JRE

金沙澳门官网网址 19  

金沙澳门官网网址 20  

金沙澳门官网网址 21

  

(3)设置3个景况变量

① 找到自个儿设置jdk的bin路线,笔者的安装路线是 C:Program Files (x86)Javajdk1.8.0_171

金沙澳门官网网址 22

  

② 在高档系统设置--->情状变量--->新建

新建2个情状变量:

  JAVA_HOME

  CLASSPATH

金沙澳门官网网址 23  

金沙澳门官网网址 24

修改贰个变量:帕特h

金沙澳门官网网址 25

  

(4)安装收尾,测验

java、javac、java -version 三个指令会有以下成效

金沙澳门官网网址 26  

金沙澳门官网网址 27  

金沙澳门官网网址 28

  

2、运行gchisto,分析gc日志

(1)运行gchisto

解包后,展开cmd命令行,实施上面的吩咐,注意:本身解包后gchisto的门径

>java -jar D:gchisto-masterreleaseGCHisto-java8.jar

(2)展开后效果

金沙澳门官网网址 29

(3)分析Tomcat 的gc 日志

① 将linux 下的tomcat 日志sz 到windows 上;

② 导入gchisto中;

③ 查看效果

金沙澳门官网网址 30

2、运行gchisto,分析gc日志

(1)运行gchisto

解包后,张开cmd命令行,执行上面的吩咐,注意:本身解包后gchisto的门径

>java -jar D:gchisto-masterreleaseGCHisto-java8.jar

  

(2)展开后效果

金沙澳门官网网址 31

  

(3)分析Tomcat 的gc 日志

① 将linux 下的tomcat 日志sz 到windows 上;

② 导入gchisto中;

③ 查看效果

金沙澳门官网网址 32

  

三、选项参数详解

三、选项参数详解

1、堆大小设置

① -Xmx3550m -Xms3550m -Xmn2g -Xss128k

  -Xmx3550m:设置JVM最大可用内部存储器为3550M。

  -Xms3550m:设置JVM开头内部存储器为3550m。此值能够安装与-Xmx同样,以幸免每一遍垃圾回收完毕后JVM重新分配内部存款和储蓄器。

  -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代高低 年老代大小 悠久代大小。漫长代一般固定大小为64m,所以增新年轻代后,将会减交年老代大小。此值对系统质量影响很大,Sun官方推荐配置为总体堆的3/8。

  -Xss128k: 设置每一种线程的库房大小。JDK5.0从此各种线程仓库大小为1M,从前每一种线程酒店大小为256K。更具应用的线程所需内部存款和储蓄器大小进行调解。在同一物理内部存款和储蓄器下,减小那几个值能生成更多的线程。可是操作系统对三个经过内的线程数依然有限定的,无法最棒生成,经验值在3000~5000左右。

② -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0

  -XX:NewRatio=4:安装年轻代(包括Eden和两个Survivor区)与年老代的比率(除去长久代)。设置为4,则后生代与年老代所占比率为1:4,年轻代占全数仓库的1/5

  -XX:SurvivorRatio=4:安装年轻代中Eden区与Sur华为r区的尺寸比值。设置为4,则五个SurOPPOr区与多个Eden区的比值为2:4,叁个SurHUAWEIr区占全体年轻代的1/6

  -XX:PermSize:设置长久代(perm gen)初阶值。默许值为大意内存的1/64。

  -XX:MaxPermSize:设置持久代最大值。物理内部存储器的1/2。

  -XX:MaxTenuringThreshold=0:安装垃圾最大龄。要是设置为0的话,则年轻代指标不通过Sur三星r区,直接进二零一八年老代。对于年老代可比多的运用,能够进步成效。假诺将此值设置为二个比较大值,则年轻代目标会在Sur中兴r区进行一再复制,那样能够追加对象再年轻代的共处时间,扩张在年轻代即被回收的概论。

1、堆大小设置

① -Xmx3550m -Xms3550m -Xmn2g -Xss128k

  -Xmx3550m:设置JVM最大可用内存为3550M。

  -Xms3550m:设置JVM初叶内部存储器为3550m。此值能够安装与-Xmx一样,以幸免每趟垃圾回收实现后JVM重新分配内部存款和储蓄器。

  -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代高低 年老代大小 持久代大小。持久代一般固定大小为64m,所以增新春轻代后,将会减谢节老代大小。此值对系统性能影响一点都不小,Sun官方推荐配置为全方位堆的3/8。

  -Xss128k: 设置各类线程的商旅大小。JDK5.0以往各样线程宾馆大小为1M,此前每种线程客栈大小为256K。更具应用的线程所需内部存储器大小实行调节。在平等物理内部存款和储蓄器下,减小这么些值能生成越多的线程。可是操作系统对多个进度内的线程数依然有限量的,无法最棒生成,经验值在三千~5000左右。

 

② -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0

  -XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则后生代与年老代所占比率为1:4,年轻代占全体仓库的1/5

  -XX:SurvivorRatio=4:安装年轻代中Eden区与SurOPPOr区的深浅比值。设置为4,则三个Sur红米r区与贰个Eden区的比率为2:4,二个Sur一加r区占整个年轻代的1/6

  -XX:PermSize:设置长久代(perm gen)最初值。私下认可值为大要内部存储器的1/64。

  -XX:MaxPermSize:设置持久代最大值。物理内部存款和储蓄器的二分之一。

  -XX:MaxTenuringThreshold=0:安装垃圾最新禧纪。若是设置为0的话,则年轻代指标不通过SurHTCr区,直接步入年老代。对于年老代可比多的采纳,能够进步效能。假设将此值设置为四个一点都不小值,则年轻代目的会在Sur诺基亚r区实行频仍复制,那样能够追加对象再年轻代的水保时间,扩大在常青代即被回收的概论。

 

2、回收器接纳

(1)吞吐量优先的竞相搜聚器

① -XX: UseParallelGC -XX:ParallelGCThreads=20 

  -XX: UseParallelGC选料垃圾收罗器为并行采摘器此布局仅对年轻代有效。即上述配置下,年轻代采取并发搜集,而年老代照例采纳串行采摘。 

  -XX:ParallelGCThreads=20:布署并行搜罗器的线程数,即:同期有些个线程一齐张开垃圾回收。此值最棒布局与Computer数目相等。 

② -XX: UseParallelOldGC 

  -XX: UseParallelOldGC配置年老代垃圾堆采摘方式为并行搜集。JDK6.0援助对年老代相互搜聚。 

③ -XX:MaxGCPauseMillis=100

  -XX:MaxGCPauseMillis=100:安装每回年轻代垃圾回收的最长日子,假诺不可能满意此时间,JVM会自动调度年轻代大小,以满意此值。 

④ -XX: UseAdaptiveSizePolicy 

  -XX: UseAdaptiveSizePolicy:设置此选项后,相互搜集器会自动选拔年轻代区大小和相应的Sur金立r区比例,以达到目的系统明确的最低相应时间仍然搜罗频率等,此值提出接纳并行搜罗器时,平素张开。

(2)响应时间优先的产出采撷器

① -XX: UseConcMarkSweepGC -XX: UseParNewGC

  -XX: UseConcMarkSweepGC安装年老代为出现搜罗。测量试验中配置这几个今后,-XX:NewRatio=4的配备失效了,原因不明。所以,此时年青代大小最佳用-Xmn设置。

  -XX: UseParNewGC:设置年轻代为并行搜聚。可与CMS搜集同一时候利用。JDK5.0上述,JVM会依照系统安插活动安装,所以不要再安装此值。

② -XX:CMSFullGCsBeforeCompaction=5 -XX: UseCMSCompactAtFullCollection

  -XX:CMSFullGCsBeforeCompaction:由于出现搜集器不对内部存款和储蓄器空间实行削减、整理,所以运营一段时间以往会发出"碎片",使得运营功能收缩。此值设置运维多少次GC以往对内部存款和储蓄器空间张开压缩、整理。

  -XX: UseCMSCompactAtFullCollection:张开对年老代的收缩。恐怕会影响属性,不过足以撤销碎片

2、回收器选取

(1)吞吐量优先的交互搜罗器

① -XX: UseParallelGC -XX:ParallelGCThreads=20 

  -XX: UseParallelGC选择垃圾搜罗器为并行收集器此布局仅对年轻代立竿见影。即上述配置下,年轻代选择并发搜聚,而年老代还是选择串行搜聚。 

  -XX:ParallelGCThreads=20:布置并行采摘器的线程数,即:同有的时候候有个别个线程一齐张开垃圾回收。此值最佳布置与计算机数目相等。 

 

② -XX: UseParallelOldGC  

  -XX: UseParallelOldGC安插年老代污源搜罗方式为并行搜罗。JDK6.0援助对年老代相互收罗。 

 

③ -XX:MaxGCPauseMillis=100

  -XX:MaxGCPauseMillis=100:安装每回年轻代垃圾回收的最长日子,要是不大概知足此时间,JVM会自动调度年轻代大小,以满足此值。 

 

④ -XX: UseAdaptiveSizePolicy 

  -XX: UseAdaptiveSizePolicy:设置此选项后,互动搜聚器会自动采取年轻代区大小和对应的SurNokiar区比例,以达到目的系统明确的最低相应时间依然搜聚频率等,此值建议选拔并行搜集器时,一贯打开。

 

(2)响应时间优先的面世搜聚器

① -XX: UseConcMarkSweepGC -XX: UseParNewGC

  -XX: UseConcMarkSweepGC安装年老代为现身收罗。测量检验中配备那一个现在,-XX:NewRatio=4的布署失效了,原因不明。所以,此时年青代大小最佳用-Xmn设置。

  -XX: UseParNewGC:设置年轻代为并行搜集。可与CMS收罗同期利用。JDK5.0以上,JVM会遵照系统布局活动安装,所以不要再设置此值。

 

② -XX:CMSFullGCsBeforeCompaction=5 -XX: UseCMSCompactAtFullCollection

  -XX:CMSFullGCsBeforeCompaction:由于出现采撷器不对内部存款和储蓄器空间进行削减、整理,所以运维一段时间未来会生出"碎片",使得运维功能减少。此值设置启动多少次GC未来对内部存款和储蓄器空间举办压缩、整理。

  -XX: UseCMSCompactAtFullCollection:张开对年老代的滑坡。恐怕会耳熟能详属性,但是足以祛除碎片

 

3、帮忙新闻

JVM提供了大气命令行参数,打印音信,供调节和测量检验使用。紧要有以下部分:

① -XX: PrintGC

  输出情势:

  [GC 118250K->113543K(130112K), 0.0094143 secs]

  [Full GC 121376K->10414K(130112K), 0.0650971 secs]

② -XX: PrintGCDetails

  输出格局:

  [GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs]

  [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]

③ -XX: PrintGCTimeStamps -XX: PrintGC:PrintGCTimeStamps可与地点八个混合使用

  输出情势:

  11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]

④ -XX: PrintGCApplicationConcurrentTime:打字与印刷每一次垃圾回收前,程序未中止的实行时间。可与地点混合使用

  输出情势:

  Application time: 0.5291524 seconds

⑤ -XX: PrintGCApplicationStoppedTime:打字与印刷垃圾回收时期先后暂停的岁月。可与地点混合使用

  输出情势:

  Total time for which application threads were stopped: 0.0468229 seconds

⑥ -XX:PrintHeapAtGC:打字与印刷GC前后的事无巨细饭馆音讯

  输出情势:

  34.702: [GC {Heap before gc invocations=7:

  def new generation total 55296K, used 52568K [0x1ebd0000, 0x227d0000, 0x227d0000)

  eden space 49152K, 99% used [0x1ebd0000, 0x21bce430, 0x21bd0000)

  from space 6144K, 55% used [0x221d0000, 0x22527e10, 0x227d0000)

  to space 6144K, 0% used [0x21bd0000, 0x21bd0000, 0x221d0000)

  tenured generation total 69632K, used 2696K [0x227d0000, 0x26bd0000, 0x26bd0000)

  the space 69632K, 3% used [0x227d0000, 0x22a720f8, 0x22a72200, 0x26bd0000)

  compacting perm gen total 8192K, used 2898K [0x26bd0000, 0x273d0000, 0x2abd0000)

  the space 8192K, 35% used [0x26bd0000, 0x26ea4ba8, 0x26ea4c00, 0x273d0000)

  ro space 8192K, 66% used [0x2abd0000, 0x2b12bcc0, 0x2b12be00, 0x2b3d0000)

  rw space 12288K, 46% used [0x2b3d0000, 0x2b972060, 0x2b972200, 0x2bfd0000)

  34.735: [DefNew: 52568K->3433K(55296K), 0.0072126 secs] 55264K->6615K(124928K)Heap after gc invocations=8:

  def new generation total 55296K, used 3433K [0x1ebd0000, 0x227d0000, 0x227d0000)

  eden space 49152K, 0% used [0x1ebd0000, 0x1ebd0000, 0x21bd0000)

  from space 6144K, 55% used [0x21bd0000, 0x21f2a5e8, 0x221d0000)

  to space 6144K, 0% used [0x221d0000, 0x221d0000, 0x227d0000)

  tenured generation total 69632K, used 3182K [0x227d0000, 0x26bd0000, 0x26bd0000)

  the space 69632K, 4% used [0x227d0000, 0x22aeb958, 0x22aeba00, 0x26bd0000)

  compacting perm gen total 8192K, used 2898K [0x26bd0000, 0x273d0000, 0x2abd0000)

  the space 8192K, 35% used [0x26bd0000, 0x26ea4ba8, 0x26ea4c00, 0x273d0000)

  ro space 8192K, 66% used [0x2abd0000, 0x2b12bcc0, 0x2b12be00, 0x2b3d0000)

  rw space 12288K, 46% used [0x2b3d0000, 0x2b972060, 0x2b972200, 0x2bfd0000)

  }

  , 0.0757599 secs]

⑦ -Xloggc:filename:与地点多少个十分使用,把有关日志音讯记录到文件以便深入分析。

3、协理新闻

JVM提供了大批量命令行参数,打字与印刷信息,供调节和测量检验使用。首要有以下部分:

① -XX: PrintGC

  输出格局:

  [GC 118250K->113543K(130112K), 0.0094143 secs]

  [Full GC 121376K->10414K(130112K), 0.0650971 secs]

 

② -XX: PrintGCDetails

  输出方式:

  [GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs]

  [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]

 

③ -XX: PrintGCTimeStamps -XX: PrintGC:PrintGCTimeStamps可与位置多个混合使用

  输出方式:

  11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]

 

④ -XX: PrintGCApplicationConcurrentTime:打字与印刷每一遍垃圾回收前,程序未间断的实施时间。可与地点混合使用

  输出方式:

  Application time: 0.5291524 seconds

 

⑤ -XX: PrintGCApplicationStopped提姆e:打字与印刷垃圾回收时期前后相继暂停的日子。可与地点混合使用

  输出格局:

  Total time for which application threads were stopped: 0.0468229 seconds

 

⑥ -XX:PrintHeapAtGC:打字与印刷GC前后的详尽货仓消息

  输出情势:

  34.702: [GC {Heap before gc invocations=7:

  def new generation total 55296K, used 52568K [0x1ebd0000, 0x227d0000, 0x227d0000)

  eden space 49152K, 99% used [0x1ebd0000, 0x21bce430, 0x21bd0000)

  from space 6144K, 55% used [0x221d0000, 0x22527e10, 0x227d0000)

  to space 6144K, 0% used [0x21bd0000, 0x21bd0000, 0x221d0000)

  tenured generation total 69632K, used 2696K [0x227d0000, 0x26bd0000, 0x26bd0000)

  the space 69632K, 3% used [0x227d0000, 0x22a720f8, 0x22a72200, 0x26bd0000)

  compacting perm gen total 8192K, used 2898K [0x26bd0000, 0x273d0000, 0x2abd0000)

  the space 8192K, 35% used [0x26bd0000, 0x26ea4ba8, 0x26ea4c00, 0x273d0000)

  ro space 8192K, 66% used [0x2abd0000, 0x2b12bcc0, 0x2b12be00, 0x2b3d0000)

  rw space 12288K, 46% used [0x2b3d0000, 0x2b972060, 0x2b972200, 0x2bfd0000)

  34.735: [DefNew: 52568K->3433K(55296K), 0.0072126 secs] 55264K->6615K(124928K)Heap after gc invocations=8:

  def new generation total 55296K, used 3433K [0x1ebd0000, 0x227d0000, 0x227d0000)

  eden space 49152K, 0% used [0x1ebd0000, 0x1ebd0000, 0x21bd0000)

  from space 6144K, 55% used [0x21bd0000, 0x21f2a5e8, 0x221d0000)

  to space 6144K, 0% used [0x221d0000, 0x221d0000, 0x227d0000)

  tenured generation total 69632K, used 3182K [0x227d0000, 0x26bd0000, 0x26bd0000)

  the space 69632K, 4% used [0x227d0000, 0x22aeb958, 0x22aeba00, 0x26bd0000)

  compacting perm gen total 8192K, used 2898K [0x26bd0000, 0x273d0000, 0x2abd0000)

  the space 8192K, 35% used [0x26bd0000, 0x26ea4ba8, 0x26ea4c00, 0x273d0000)

  ro space 8192K, 66% used [0x2abd0000, 0x2b12bcc0, 0x2b12be00, 0x2b3d0000)

  rw space 12288K, 46% used [0x2b3d0000, 0x2b972060, 0x2b972200, 0x2bfd0000)

  }

  , 0.0757599 secs]

 

⑦ -Xloggc:filename:与地方多少个优秀使用,把相关日志新闻记录到文件以便深入分析。

 

四、常见配置汇总

金沙澳门官网网址 ,四、常见配置汇总

1、堆设置

① -Xms:初阶堆大小

② -Xmx:最大堆大小

③ -XX:NewSize=n:设置年轻代大小

④ -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占全体青春代年老代和的53%

⑤ -XX:Sur华为rRatio=n:年轻代中艾登区与三个SurHTCr区的比率。注意SurOPPOr区有三个。如:3,表示Eden:SurMotorolar=3:2,三个SurNokiar区占整个年轻代的1/5

⑥ -XX:MaxPermSize=n:设置长久代大小

1、堆设置

① -Xms:伊始堆大小

② -Xmx:最大堆大小

③ -XX:NewSize=n:设置年轻代大小

④ -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个青春代年老代和的50%

⑤ -XX:Sur索尼爱立信rRatio=n:年轻代中Eden区与四个Sur金立r区的比值。注意SurMotorolar区有四个。如:3,表示Eden:Sur酷派r=3:2,一个SurHTCr区占全部年轻代的1/5

⑥ -XX:马克斯PermSize=n:设置长久代大小

 

2、采摘器设置

① -XX: UseSerialGC:设置串行采撷器

② -XX: UseParallelGC:设置并行收罗器

③ -XX: UseParalledlOldGC:设置并行年老代采摘器

④ -XX: UseConc马克SweepGC:设置并发搜罗器

2、搜聚器设置

① -XX: UseSerialGC:设置串行搜集器

② -XX: UseParallelGC:设置并行搜集器

③ -XX: UseParalledlOldGC:设置并行年老代收集器

④ -XX: UseConc马克SweepGC:设置并发搜罗器

 

3、垃圾回收总结音信

① -XX: PrintGC

② -XX: PrintGCDetails

③ -XX: PrintGCTimeStamps

④ -Xloggc:filename

 

本文由金沙澳门官网发布于金沙澳门官网网址,转载请注明出处:金沙澳门官网网址Linux下Tomcat开启查看GC日志,

关键词: 金沙澳门官网

上一篇:源码安装和配置zabbix
下一篇:没有了