记录一次生产jvm调优

jvm 参数配置 几个必须知道的参数含义

说下我们生产配置,服务四个节点,单节点分配16g内存
-Xms16g 初始化堆大小
-Xmx16g 最大堆内存
-Xmn6gm 年轻代内存大小
-Xss256k 每个线程的初始化内存
-XX:MetaspaceSize=256m 元空间触发gc的大小
-XX:+HeapDumpOnOutOfMemoryError 配置堆栈内存溢出错误日志
-XX:HeapDumpPath=/opt/logs/micro-service/heapdump.hprof 错误日志输出路径

gc日志打印 时间 gc详情 输出路径

-XX:+PrintGC 输出GC日志
-XX:+PrintGCDetails 输出GC的详细日志
-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
-Xloggc:/opt/logs/service/gc_xx_xx_xx.log 日志文件的输出路径
如需了解更多请参考:
https://blog.csdn.net/iverson2010112228/article/details/82885976

常用命令

jmap -heap pid 查看堆内存使用情况
jstat -gcutil pid 查看gc情况
S0: 新生代中Survivor space 0区已使用空间的百分比

S1:新生代中Survivor space 1区已使用空间的百分比

E: Eden已使用空间的百分比

O:Old已使用空间的百分比

M:metaspace使用百分比

CCS:类指针压缩空间使用率 Compressed class space utilization as a percentage.

YGC:从应用程序启动到当前,发生Yang GC 的次数

YGCT:从应用程序启动到当前,Yang GC所用的时间【单位秒】

FGC:从应用程序启动到当前,发生Full GC的次数

FGCT:从应用程序启动到当前,Full GC所用的时间

GCT:从应用程序启动到当前,用于垃圾回收的总时间【单位秒】

top -H -p pid 查看进程占用资源
jstack pid > xxx.txt 导出栈中信息

gc日志打印解释

2019-10-25T11:37:03.856+0800: [GC (Allocation Failure) [PSYoungGen: 64512K->10721K(75264K)] 64512K->13593K(247296K), 0.0190788 secs] [Times: user=0.05 sys=0.00, real=0.02 secs] 
2019-10-25T11:37:06.058+0800: [GC (Allocation Failure) [PSYoungGen: 75233K->10749K(75264K)] 78105K->23753K(247296K), 0.0161954 secs] [Times: user=0.05 sys=0.01, real=0.02 secs] 
2019-10-25T11:37:06.211+0800: [GC (Metadata GC Threshold) [PSYoungGen: 20229K->10733K(75264K)] 33232K->23849K(247296K), 0.0071751 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
2019-10-25T11:37:06.218+0800: [Full GC (Metadata GC Threshold) [PSYoungGen: 10733K->0K(75264K)] [ParOldGen: 13115K->21510K(121344K)] 23849K->21510K(196608K), [Metaspace: 20164K->20159K(1067008K)], 0.0519726 secs] [Times: user=0.19 sys=0.01, real=0.05 secs]
2019-10-25T11:37:07.550+0800: [GC (Allocation Failure) [PSYoungGen: 64512K->3986K(107520K)] 86022K->25504K(228864K), 0.0067501 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
2019-10-25T11:37:08.570+0800: [GC (Metadata GC Threshold) [PSYoungGen: 87649K->8662K(133120K)] 109167K->30252K(254464K), 0.0093102 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 
2019-10-25T11:37:08.579+0800: [Full GC (Metadata GC Threshold) [PSYoungGen: 8662K->0K(133120K)] [ParOldGen: 21590K->29605K(181760K)] 30252K->29605K(314880K), [Metaspace: 34167K->34167K(1079296K)], 0.0831839 secs] [Times: user=0.14 sys=0.00, real=0.08 secs] 
2019-10-25T11:37:09.665+0800: [GC (Allocation Failure) [PSYoungGen: 122368K->7823K(186368K)] 151973K->37436K(368128K), 0.0082988 secs] [Times: user=0.02 sys=0.00, real=0.01 secs] 
2019-10-25T11:37:10.429+0800: [GC (Allocation Failure) [PSYoungGen: 170639K->13400K(185344K)] 200252K->43021K(367104K), 0.0122756 secs] [Times: user=0.00 sys=0.03, real=0.01 secs] 
2019-10-25T11:37:26.145+0800: [GC (Allocation Failure) [PSYoungGen: 176216K->22012K(236544K)] 205837K->51932K(418304K), 0.0194521 secs] [Times: user=0.01 sys=0.02, real=0.02 secs] 
2019-10-25T11:37:27.130+0800: [GC (Allocation Failure) [PSYoungGen: 236540K->25589K(242176K)] 266460K->64567K(423936K), 0.0285009 secs] [Times: user=0.05 sys=0.02, real=0.03 secs] 
2019-10-25T11:37:29.486+0800: [GC (Metadata GC Threshold) [PSYoungGen: 227175K->33256K(292864K)] 266153K->76296K(474624K), 0.0314799 secs] [Times: user=0.08 sys=0.00, real=0.03 secs] 
2019-10-25T11:37:29.518+0800: [Full GC (Metadata GC Threshold) [PSYoungGen: 33256K->0K(292864K)] [ParOldGen: 43039K->62297K(261120K)] 76296K->62297K(553984K), [Metaspace: 57041K->57041K(1101824K)], 0.1802803 secs] [Times: user=0.48 sys=0.02, real=0.18 secs] 
2019-10-25T11:37:30.735+0800: [GC (Allocation Failure) [PSYoungGen: 259584K->9377K(299008K)] 321881K->71683K(560128K), 0.0089734 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
2019-10-25T11:37:32.941+0800: [GC (Allocation Failure) [PSYoungGen: 268961K->19235K(356352K)] 331267K->81549K(617472K), 0.0231564 secs] [Times: user=0.03 sys=0.02, real=0.02 secs] 
2019-10-25T11:37:35.511+0800: [GC (Allocation Failure) [PSYoungGen: 341283K->27219K(359424K)] 403597K->89557K(620544K), 0.0253650 secs] [Times: user=0.08 sys=0.00, real=0.03 secs] 
2019-10-25T11:37:36.994+0800: [GC (Allocation Failure) [PSYoungGen: 349267K->31531K(433152K)] 411605K->93877K(694272K), 0.0348279 secs] [Times: user=0.06 sys=0.05, real=0.04 secs] 
  • 2019-10-25T11:37:03.856+0800
    打印时间戳,按照年月日时分秒
  • [GC (Allocation Failure)] / Full GC (Metadata GC Threshold)
    本次gc原因,Allocation Failure 标识由于内存大小不足而发生的gc
    Metadata GC Threshold 标识元空间内存不足,发生gc
  • [PSYoungGen: 64512K->10721K(75264K)] 64512K->13593K(247296K)
    PSYoungGen :gc类型
    64512K->10721K(75264K) 64512K->13593K(247296K)
    前面一组:
    64512K:PSYoungGen发生之前新生代内存占用
    10721K:PSYoungGen发生之后新生代内存占用
    75264K:新生代内存占用总大小
    后面一组:
    64512K:PSYoungGen发生之前JVM堆内存占用
    10721K:PSYoungGen发生之后JVM堆内存占用
    75264K:JVM堆内存占用总大小
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容