近期比較烦躁。系统频繁出现宕机。weblogic控制台打印出例如以下内容:
# Afatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000003373c89afc,pid=21500, tid=139781136643840
#
# JREversion: 6.0_45-b06
# JavaVM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64compressed oops)
#Problematic frame:
# C [libc.so.6+0x89afc] unsigned long+0x2dc
#
# Anerror report file with more information is saved as:
#/webhome/bea/user_projects/domains/crm_domain/hs_err_pid21500.log
#
# If youwould like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# Thecrash happened outside the Java Virtual Machine in native code.
# Seeproblematic frame for where to report the bug.
#
/webhome/bea/user_projects/domains/crm_domain/bin/startWebLogic.sh:line 180: 21500 Aborted (core dumped) ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS}-Dweblogic.Name=${SERVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS}${PROXY_SETTINGS} ${SERVER_CLASS}
从控制台日志中,能够看到一个宕机错误报告文件,hs_error_pid****.log文件,打出crash报告。
错误内容例如以下,连续几天查询问题原因。系统怎样优化都还出现crash原因。
最后得知这样能够解决,这个分享出来给大家,使同行们少走弯路。能够节省很多其它时间,知识共享。
出现此问题原因:
1.当前正在使用jar或者class文件被动态更新。
2.当前jar大于4G而且为JDK6或者更早版本号;JDK6或者更早版本号仅仅能接受4G大小下面的版本号。
问题解决:
1.在JDK的1.6.23以上版本号中有一个属性,能够避免此问题发生crash.配置动态读取jar或者class
在weblogic的的启动脚本里面。JVM设置地址增加一个參数就可以解决此问题。
-Dsun.zip.disableMemoryMapping=true;
试过了。很实用。还请同行们以后保持良好的系统上线习惯。先停weblogic,再改动类文件。再重新启动weblogic。
或者改成热部署方式也可。
A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000003e6a089b03, pid=19647, tid=140309875619584
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libc.so.6+0x89b03] unsigned long+0x2e3
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x00007f9cf4018800): JavaThread "pool-1-thread-201" [_thread_in_native, id=15488, stack(0x00007f9c703b7000,0x00007f9c704b8000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00007f9c78f0c000
Registers:
RAX=0x657477782f6d6f63, RBX=0x6c2f6570622f6863, RCX=0x0000000000000176, RDX=0x000000000000bb29
RSP=0x00007f9c704b4e48, RBP=0x00007f9c78f0427d, RSI=0x00007f9c78f0bff0, RDI=0x00007f9dc85cb115
R8 =0x000000000000bb00, R9 =0x031402014b507373, R10=0x552900080800000a, R11=0x0c9f95f95b0646ef
R12=0x00390000207a0000, R13=0x0000000000000000, R14=0x001cd35781a40000, R15=0x0000000000005a65
RIP=0x0000003e6a089b03, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e
Top of Stack: (sp=0x00007f9c704b4e48)
0x00007f9c704b4e48: 00007f9f9308331e 00000000704b4e70
0x00007f9c704b4e58: 00007f9eec831324 00007f9eec82df60
0x00007f9c704b4e68: 0000000000000000 00000000a5fc4555
0x00007f9c704b4e78: 00007f9c704b4ee0 0000000000000054
0x00007f9c704b4e88: 00007f9f930835c4 00007f9cf4018800
0x00007f9c704b4e98: 00007f9c704b4ee0 00007f9cf40189d0
0x00007f9c704b4ea8: 0000000000000054 00007f9c704b5338
0x00007f9c704b4eb8: 0000000000000054 0000000000000001
0x00007f9c704b4ec8: 00007f9f9307b797 00007f9c704b4ee0
0x00007f9c704b4ed8: 00007f9eec82df60 657477782f6d6f63
0x00007f9c704b4ee8: 6c2f6570622f6863 73626f2f6369676f
0x00007f9c704b4ef8: 6369767265732f68 65702f7364632f65
0x00007f9c704b4f08: 697375426e6f7372 6f72422f7373656e
0x00007f9c704b4f18: 6341646e61426461 797251746e756f63
0x00007f9c704b4f28: 632e312453444345 000000007373616c
0x00007f9c704b4f38: 00007f9f93b4e2c8 00007f9c704b4f60
0x00007f9c704b4f48: 00007f9f93b5ec8d 00007f9c704b4f90
0x00007f9c704b4f58: 00007f9f8c037cb0 00007f9c704b4f80
0x00007f9c704b4f68: 00007f9f93aca246 00007f9f94168630
0x00007f9c704b4f78: 00007f9f8c016b20 00007f9c704b4fb0
0x00007f9c704b4f88: 00007f9f93b5d646 00007f9f941694f0
0x00007f9c704b4f98: 00000007733e6780 00007f9f8c0388d0
0x00007f9c704b4fa8: 0000000000000000 00007f9c704b4fc0
0x00007f9c704b4fb8: 00007f9f93b51124 00007f9c704b5040
0x00007f9c704b4fc8: 00007f9f93a69eee 00007f9c704b4ff0
0x00007f9c704b4fd8: 00007f9f9391286c 0000000000000017
0x00007f9c704b4fe8: 00000007733e6780 00007f9c704b5030
0x00007f9c704b4ff8: 00007f9f93f160c6 00007f9eec96c708
0x00007f9c704b5008: 00007f9cf4018800 0000000000000000
0x00007f9c704b5018: 00007f9cf4018800 00007f9f94168630
0x00007f9c704b5028: 00007f9f9414a159 00007f9f94168630
0x00007f9c704b5038: 00007f9cf4018800 00007f9c704b53a0
Instructions: (pc=0x0000003e6a089b03)
0x0000003e6a089ae3: 4c 89 67 28 4c 89 6f 30 4c 89 77 38 48 8d 76 40
0x0000003e6a089af3: 48 8d 7f 40 74 5d 48 ff c9 48 8b 06 48 8b 5e 08
0x0000003e6a089b03: 4c 8b 4e 10 4c 8b 56 18 4c 8b 5e 20 4c 8b 66 28
0x0000003e6a089b13: 4c 8b 6e 30 4c 8b 76 38 0f 18 8f 40 03 00 00 0f
Register to memory mapping:
RAX=0x657477782f6d6f63 is an unknown value
RBX=0x6c2f6570622f6863 is an unknown value
RCX=0x0000000000000176 is an unknown value
RDX=0x000000000000bb29 is an unknown value
RSP=0x00007f9c704b4e48 is pointing into the stack for thread: 0x00007f9cf4018800
RBP=0x00007f9c78f0427d is an unknown value
RSI=0x00007f9c78f0bff0 is an unknown value
RDI=0x00007f9dc85cb115 is an unknown value
R8 =0x000000000000bb00 is an unknown value
R9 =0x031402014b507373 is an unknown value
R10=0x552900080800000a is an unknown value
R11=0x0c9f95f95b0646ef is an unknown value
R12=0x00390000207a0000 is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x001cd35781a40000 is an unknown value
R15=0x0000000000005a65 is an unknown value
Stack: [0x00007f9c703b7000,0x00007f9c704b8000], sp=0x00007f9c704b4e48, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0x89b03] unsigned long+0x2e3
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J
J java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
J weblogic.utils.classloaders.ZipClassFinder.getSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.AbstractClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.application.utils.CompositeWebAppFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.CodeGenClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;
J weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;