记录一次java.lang.OutOfMemoryError: PermGen space异常
2019独角兽企业重金招聘Python工程师标准>>>
问题描述
线上右键告警,报错 OutOfMemoryError 拉取出日志,发现同样的问题:
2018-11-13 10:23:59,151 [] ERROR filter.ExceptionFilter - [DUBBO] Got unchecked and undeclared exception which called by 10.122.2.132. service: com.yuantu.virtual.service.UserAccountDubboService, method: getUserByCard, exception: java.lang.OutOfMemoryError: PermGen space, dubbo version: 2.5.3, current host: 10.122.2.109
java.lang.OutOfMemoryError: PermGen space
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395)
at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:94)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:48)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.reflect.Proxy.newInstance(Proxy.java:764)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:755)
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:300)
at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:290)
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:223)
at sun.reflect.annotation.AnnotationParser.parseParameterAnnotations2(AnnotationParser.java:181)
at sun.reflect.annotation.AnnotationParser.parseParameterAnnotations(AnnotationParser.java:158)
at java.lang.reflect.Method.getParameterAnnotations(Method.java:772)
at org.apache.ibatis.binding.MapperMethod.getParamNameFromAnnotation(MapperMethod.java:229)
at org.apache.ibatis.binding.MapperMethod.setupMethodSignature(MapperMethod.java:221)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:70)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:39)
at com.sun.proxy.$Proxy101.getUserCardBySeqAndType(Unknown Source)
at com.yuantu.virtual.service.impl.UserCardServiceImpl.getUserCardBySeqAndType(UserCardServiceImpl.java:154)
at com.yuantu.virtual.service.impl.UserCardServiceImpl$$FastClassByCGLIB$$a6794f1f.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.yuantu.common.profiler.ProfilerApsect.invoke(ProfilerApsect.java:36)
at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
排查
检查tomcat配置:
JAVA_OPTS="-server
-Xmx5000m -Xms5000m -Xmn1000m
-Xss1024k -XX:SurvivorRatio=20 -XX:MaxTenuringThreshold=3
-XX:TargetSurvivorRatio=50 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75 -XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly -XX:ParallelGCThreads=4 -XX:ConcGCThreads=4
-XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark
-XX:+ExplicitGCInvokesConcurrent -XX:+UseTLAB -XX:TLABSize=1024K
-Dsun.rmi.dgc.client.gcInterval=86400000 -Dsun.rmi.dgc.server.gcInterval=86400000
-Djava.awt.headless=true -Dclient.encoding.override=UTF-8
-Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN "
发现并没有设置自动Dump的参数
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/home/tomcat/domains/server2/oom.hprof
到zabbix上查看内存并没有明显波动;
分析日志,从java.lang.OutOfMemoryError: PermGen space可看出是永久代内存溢出; 检查发现并没有配置永久代大小;默认大小为64m;
解决
设置永久代大小配置:
-XX:PermSize=512m -XX:MaxPermSize=512m
转载于:https://my.oschina.net/mengzhang6/blog/2875419
记录一次java.lang.OutOfMemoryError: PermGen space异常相关推荐
- IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常
IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常 参考文章: (1)IntelliJ IDEA的Maven项目 ...
- JRebel : java.lang.OutOfMemoryError: PermGen space 异常
软件环境 开发工具:IDEA 2018.3 Tomcat:8.5.39 JDK:1.7.0_80 JReBel:2018.2.7 异常描述 使用Tomcat直接运行/调试可以,但是通过JReBel运行 ...
- Tomcat Caused by java lang OutOfMemoryError PermGen space
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这个应该 ...
- caused by: java.lang.outofmemory_Caused by: java.lang.OutOfMemoryError: PermGen space
异常: 项目中遇到了系统停止响应的问题,查看日志发现Tomcat报告Caused by: java.lang.OutOfMemoryError: PermGen space异常,开始以为是程序内存泄漏 ...
- myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法...
摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误 在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen ...
- java.lang.OutOfMemoryError: PermGen space及其解决方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决 ...
- JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space
JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space 参考文章: (1)JAVA编译异常处理:java.lang.OutOfMemoryError: ...
- Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space
前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1. ...
- Weblogic java.lang.OutOfMemoryError: PermGen space
错误信息 Error 500--Internal Server Error java.lang.OutOfMemoryError: PermGen space 解决 D:\SDE\weblogic\M ...
最新文章
- linux-glibc内存管理小结2(内存相关系统调用的实现)
- 模仿黑产破解12306验证码,验证码产品的未来是?
- 以DES的方式实现对称加密,并提供密钥
- html进度条实现方案,两种进度条实现方案的对比
- 比Postman更懂中国程序员,Apipost真香!
- 友商对于鸿蒙系统,谷歌新系统上线!鸿蒙面临生死线考验,华为喊话友商,被小米拒绝...
- hadoop集群配置文件
- php文件怎么加统计代码,php统计文件中的代码行数
- InnoDB存储引擎:锁
- 2019美赛M(一等/优异)奖,给想参加美赛的同学们的干货建议
- mysql 水晶报表_Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
- mysql数据血缘分析,数仓字段血缘解析实现—hive版
- 电脑没有WiFi断网代码56解决方法CCleaner下载
- spring boot 多模块项目打包部署
- 在HTML中插入SVG的几种方式
- MongoDB全面总结
- 搜酷:紧跟淘宝步伐的大卖家
- JAVA生成短8位UUID
- 第一数字定律识别数据作假
- linux c邮件客户端,[源码和文档分享]基于C语言和TCP Socket实现的Linux环境下的邮件收发客户端程序...