日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记录一次java.lang.OutOfMemoryError: PermGen space异常

發布時間:2025/7/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录一次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异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。