[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]Metadata GC引起的BLOCK,tomcat卡,MaxPermSize

上一篇:[备忘]SEVERE: One or more listeners failed to start. Full details will be found in the appropriate con
下一篇:[备忘]坑爹,TimeZone.getTimeZone是同步的方法!!!

添加日期:2019/6/15 0:15:52 快速返回   返回列表 阅读1211次

系统卡住,页面一直转。
看tomcat日志,没报异常,也没干什么。
jstack看线程状态,发现有一些BLOCK线程,各种奇怪的方法被BLOCK。

一脸懵逼~~

又执行一次jstack,发现BLOCK的线程又变了~

一脸懵逼~

搜了几下,想起FULL GC会引起全局锁,是不是GC闹的~

发现tomcat没打GC日志,加上这个:

JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/gclog -Xloggc:/opt/gclog/platform.log  -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:-PrintTenuringDistribution"

启动,发现

2019-06-14T23:59:17.542+0800: 14.803: [GC (Metadata GC Threshold) [PSYoungGen: 333413K->40312K(3910656K)] 355751K->62650K(6707200K), 0.0358259 secs] [Times: user=0.20 sys=0.04, real=0.04 secs]

2019-06-14T23:59:17.578+0800: 14.839: [Full GC (Metadata GC Threshold) [PSYoungGen: 40312K->0K(3910656K)] [ParOldGen: 22337K->59754K(2796544K)] 62650K->59754K(6707200K), [Metaspace: 34745K->34745K(1081344K)], 0.1875534 secs] [Times: user=1.03 sys=0.05, real=0.19 secs]

2019-06-14T23:59:28.031+0800: 25.293: [GC (Metadata GC Threshold) [PSYoungGen: 1668470K->46044K(3910656K)] 1728225K->105826K(6707200K), 0.0686228 secs] [Times: user=0.29 sys=0.04, real=0.07 secs]

上来就GC,发现是Metadata GC Threshold,不是普通的堆GC。

启动脚本里写的-XX:PermSize=64M -XX:MaxPermSize=256m

这东西JDK8里好像被抛弃了,等于没用。

搜了下,是-XX:MetaspaceSize=128M 这样写。

加上启动,貌似OK了~

再观察~
 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved