我的应用程序在将其迁移到64位后开始崩溃。在我们的生产Linux服务器上每2-3天发生一次崩溃。我们正在使用jdk1.6.0_15-x86_64。当我的应用程序使用Xalan转换器将XSLT转换为HTML时,崩溃发生在同一个地方。
我已经确认这不会发生在我们的32位服务器上,并且当应用程序不执行XSLT到HTML转换时不会发生这种情况。所以只有当转换发生在64位服务器上时才会发生。
任何帮助都将受到高度赞赏。
以下是转储文件中的内容
######################################
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00002b288a0457d1, pid=9161, tid=1213643072
#
# JRE version: 6.0_15-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.1-b02 mixed mode linux-amd64 )
# Problematic frame:
# V [libjvm.so+0x3837d1]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x0000000044267800): JavaThread "[default]-careers_ente_com-/resume_list_intermediate.html-76.125.192.80-B8FF993FA76C999A3568847142ECA47C.JS1-Thread-57504" daemon [_thread_in_vm, id=18390, stack(0x000000004846b000,0x000000004856c000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=128 (), si_addr=0x0000000000000000
Registers:
RAX=0x0000000000000001, RBX=0x002f840f1fb10f4c, RCX=0x0000000000000000, RDX=0x0000000000000001
RSP=0x0000000048569d50, RBP=0x0000000048569d70, RSI=0x0000000000000000, RDI=0x0000000043d7c830
R8 =0x0000000000000001, R9 =0x00002aaab073f9d8, R10=0x00002b288a582c2a, R11=0x0000000044269a98
R12=0x00002aaab07431c8, R13=0x0000000000000008, R14=0x0000000044267800, R15=0x0000000048569dd0
RIP=0x00002b288a0457d1, EFL=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000000
TRAPNO=0x000000000000000d
Stack: [0x000000004846b000,0x000000004856c000], sp=0x0000000048569d50, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x3837d1]
V [libjvm.so+0x3a2f72]
j com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.addParameter(Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;+8
j hrxmlresume2html.topLevel(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+218
j hrxmlresume2html.transform(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+24
j com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+9
j com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;Ljava/lang/String;)V+152
j com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V+119
j com.ente.hrxml.resume.HtmlConverter.toHtml(Lorg/jdom/Document;)Ljava/lang/String;+49
j com.ente.er.form.hrxmledit.generateHtmlResumeBuilder(Lcom/ente/erom/candidate/Candidate;Ljava/lang/String;)Ljava/lang/String;+42
j com.ente.er.form.hrxmledit.save()Lcom/ente/services/webui/UIStatus;+574
j com.ente.er.form.hrxmledit.postprocess()Lcom/ente/services/webui/UIStatus;+202
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.addParameter(Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;+8
j hrxmlresume2html.topLevel(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+218
j hrxmlresume2html.transform(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+24
j com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;)V+9
j com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Lcom/sun/org/apache/xml/internal/serializer/SerializationHandler;Ljava/lang/String;)V+152
j com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V+119
j com.ente.hrxml.resume.HtmlConverter.toHtml(Lorg/jdom/Document;)Ljava/lang/String;+49
j com.ente.er.form.hrxmledit.generateHtmlResumeBuilder(Lcom/ente/erom/candidate/Candidate;Ljava/lang/String;)Ljava/lang/String;+42
j com.ente.er.form.hrxmledit.save()Lcom/ente/services/webui/UIStatus;+574
j com.ente.er.form.hrxmledit.postprocess()Lcom/ente/services/webui/UIStatus;+202
J com.ente.services.webui.Form.process()Lcom/ente/services/webui/UIStatus;
j com.ente.er.form.hrxmledit.process()Lcom/ente/services/webui/UIStatus;+1
J com.ente.services.webui.Form.eval(Lcom/ente/services/webui/Request;)V
j com.ente.services.webui.Nav.evalForm()V+232
j com.ente.services.webui.Nav.initPage()Lcom/ente/services/webui/Nav;+151
j com.ente.er.ERecruiter.getER(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)Lcom/ente/er/ERecruiter;+353
j com.ente.er.ERecruiter.getER(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lcom/ente/er/ERecruiter;+3
j jsp__careers_2eente_2ecom_80___resume_list_intermediate_2ehtml._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+114
j org.gjt.jsp.HttpJspPageImpl.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+29
j org.gjt.jsp.JspServlet$Page.process(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+937
j org.gjt.jsp.JspServlet.xservice(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;)V+39
j org.gjt.jsp.JspServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+162
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+29
j org.apache.jserv.JServConnection.processRequest()V+627
j org.apache.jserv.JServConnection.run()V+80
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
Java Threads: ( => current thread )
=>0x0000000044267800 JavaThread "[default]-careers_ente_com-/resume_list_intermediate.html-76.125.192.80-B8FF993FA76C999A3568847142ECA47C.JS1-Thread-57504" daemon [_thread_in_vm, id=18390, stack(0x000000004846b000,0x000000004856c000)]
0x00000000447a1800 JavaThread "3C758A73EA22FCDE9E41A2149C9E8F43.JS1-Thread-54838" daemon [_thread_blocked, id=14006, stack(0x000000004836a000,0x000000004846b000)]
0x00000000446a5000 JavaThread "108.243.174.151-3C758A73EA22FCDE9E41A2149C9E8F43.JS1-Thread-54742" daemon [_thread_in_native, id=13872, stack(0x000000004745b000,0x000000004755c000)]
0x000000004400a800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=20114, stack(0x0000000047057000,0x0000000047158000)]
0x0000000044a8a800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9567, stack(0x0000000046d54000,0x0000000046e55000)]
0x000000004479a800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9566, stack(0x0000000046c53000,0x0000000046d54000)]
0x0000000044b2d800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9565, stack(0x0000000046b52000,0x0000000046c53000)]
0x0000000043f6b800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9564, stack(0x00000000439a4000,0x0000000043aa5000)]
0x0000000044214000 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9327, stack(0x0000000043ba6000,0x0000000043ca7000)]
0x0000000044018000 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9326, stack(0x0000000043aa5000,0x0000000043ba6000)]
0x00000000441bc800 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9324, stack(0x0000000042893000,0x0000000042994000)]
0x0000000044a89000 JavaThread "TaskManager-IdleThread" daemon [_thread_blocked, id=9323, stack(0x0000000040ec5000,0x0000000040fc6000)]
0x0000000044923800 JavaThread "internal_careers_ente_com-Timer-Timer-13" daemon [_thread_blocked, id=9318, stack(0x00000000438a3000,0x00000000439a4000)]
0x0000000045643800 JavaThread "ImportAgent-Timer-Timer-12" daemon [_thread_blocked, id=9317, stack(0x00000000437a2000,0x00000000438a3000)]
0x00000000461e9000 JavaThread "internal_careers_ente_com-Retry-Timer-Timer-11" daemon [_thread_blocked, id=9316, stack(0x00000000436a1000,0x00000000437a2000)]
0x000000004466a800 JavaThread "XPostDirector-Timer-Timer-10" daemon [_thread_blocked, id=9315, stack(0x00000000435a0000,0x00000000436a1000)]
0x0000000044667800 JavaThread "internal_careers_ente_com-EventInformant1554828645.1" daemon [_thread_blocked, id=9314, stack(0x000000004349f000,0x00000000435a0000)]
0x0000000044798800 JavaThread "internal_careers_ente_com-EventInformant1554828645.2" daemon [_thread_blocked, id=9313, stack(0x000000004339e000,0x000000004349f000)]
0x0000000044797800 JavaThread "internal_careers_ente_com-EventInformant1554828645.3" daemon [_thread_blocked, id=9312, stack(0x000000004329d000,0x000000004339e000)]
0x0000000043ff1000 JavaThread "internal_careers_ente_com-EventInformant1554828645.4" daemon [_thread_blocked, id=9311, stack(0x000000004319c000,0x000000004329d000)]
0x0000000044795000 JavaThread "careers_ente_com-Retry-Timer-Timer-9" daemon [_thread_blocked, id=9310, stack(0x000000004309b000,0x000000004319c000)]
0x0000000044792800 JavaThread "careers_ente_com-EventInformant190296991.1" daemon [_thread_blocked, id=9309, stack(0x0000000042f9a000,0x000000004309b000)]
0x0000000046233800 JavaThread "careers_ente_com-EventInformant190296991.2" daemon [_thread_blocked, id=9308, stack(0x0000000042e99000,0x0000000042f9a000)]
0x0000000046231800 JavaThread "careers_ente_com-EventInformant190296991.3" daemon [_thread_blocked, id=9307, stack(0x0000000042d98000,0x0000000042e99000)]
0x0000000046231000 JavaThread "careers_ente_com-EventInformant190296991.4" daemon [_thread_blocked, id=9306, stack(0x0000000042c97000,0x0000000042d98000)]
0x0000000044c0c000 JavaThread "LDAPConnThread ldap5.ente.com:389" daemon [_thread_in_native, id=9305, stack(0x0000000042b96000,0x0000000042c97000)]
0x0000000044c0a000 JavaThread "LDAPConnThread ldap5.ente.com:389" daemon [_thread_in_native, id=9304, stack(0x0000000042a95000,0x0000000042b96000)]
0x0000000044c0d800 JavaThread "LDAPConnThread ldap4.ente.com:389" daemon [_thread_in_native, id=9303, stack(0x0000000042994000,0x0000000042a95000)]
0x0000000044c07800 JavaThread "LDAPConnThread ldap4.ente.com:389" daemon [_thread_in_native, id=9301, stack(0x0000000042691000,0x0000000042792000)]
0x000000004597d000 JavaThread "LDAPConnThread ldap4.ente.com:389" daemon [_thread_in_native, id=9300, stack(0x0000000041723000,0x0000000041824000)]
0x000000004404e000 JavaThread "OracleTimeoutPollingThread" daemon [_thread_blocked, id=9226, stack(0x0000000042792000,0x0000000042893000)]
0x00002aab10677000 JavaThread "careers_ente_com-Timer-Timer-8" daemon [_thread_blocked, id=9224, stack(0x0000000042590000,0x0000000042691000)]
0x00002aab1059a000 JavaThread "SessionReaper-Timer-7" daemon [_thread_blocked, id=9223, stack(0x000000004248f000,0x0000000042590000)]
0x00002aab11230000 JavaThread "DebugListener-1234-Thread-16" daemon [_thread_in_native, id=9222, stack(0x000000004238e000,0x000000004248f000)]
0x00002aab10628800 JavaThread "ImportAgent-Timer-Timer-6" daemon [_thread_blocked, id=9221, stack(0x00000000419ae000,0x0000000041aaf000)]
0x00002aab106b0800 JavaThread "careers_ente_com-Retry-Timer-Timer-5" daemon [_thread_blocked, id=9219, stack(0x000000004020b000,0x000000004030c000)]
0x00002aab104c9800 JavaThread "XPostDirector-Timer-Timer-4" daemon [_thread_blocked, id=9218, stack(0x00000000405c3000,0x00000000406c4000)]
0x00002aab1056c000 JavaThread "careers_ente_com-EventInformant74291610.1" daemon [_thread_blocked, id=9216, stack(0x000000004228d000,0x000000004238e000)]
0x00002aab1053e000 JavaThread "careers_ente_com-EventInformant74291610.2" daemon [_thread_blocked, id=9215, stack(0x000000004218c000,0x000000004228d000)]
0x00002aab1048a800 JavaThread "careers_ente_com-EventInformant74291610.3" daemon [_thread_blocked, id=9214, stack(0x0000000041cd6000,0x0000000041dd7000)]
0x00002aab104e9000 JavaThread "careers_ente_com-EventInformant74291610.4" daemon [_thread_blocked, id=9213, stack(0x00000000408ef000,0x00000000409f0000)]
0x00002aab1021d800 JavaThread "CacheReporter-Timer-2" [_thread_blocked, id=9212, stack(0x000000004208b000,0x000000004218c000)]
0x00002aab1000f800 JavaThread "StatsReporter-Timer-1" daemon [_thread_blocked, id=9211, stack(0x0000000041f8a000,0x000000004208b000)]
0x00002aab10025800 JavaThread "LDAPConnThread ldap5.ente.com:389" daemon [_thread_in_native, id=9210, stack(0x0000000041e89000,0x0000000041f8a000)]
0x000000004406d800 JavaThread "LDAPConnThread ldap5.ente.com:389" daemon [_thread_in_native, id=9209, stack(0x0000000041622000,0x0000000041723000)]
0x000000004401e000 JavaThread "Periodic Collector-Timer-0" [_thread_blocked, id=9208, stack(0x00000000418ad000,0x00000000419ae000)]
0x00002aab10003000 JavaThread "Thread-0" daemon [_thread_blocked, id=9186, stack(0x0000000040a6f000,0x0000000040b70000)]
0x0000000043e0d000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=9184, stack(0x0000000041ad4000,0x0000000041bd5000)]
0x0000000043e0a000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=9183, stack(0x0000000041380000,0x0000000041481000)]
0x0000000043e05800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=9182, stack(0x0000000040753000,0x0000000040854000)]
0x0000000043e03800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9181, stack(0x000000004010a000,0x000000004020b000)]
0x0000000043ddf800 JavaThread "Finalizer" daemon [_thread_blocked, id=9180, stack(0x00000000414fe000,0x00000000415ff000)]
0x0000000043dde000 JavaThread "Reference Handler" daemon [_thread_blocked, id=9179, stack(0x000000004127f000,0x0000000041380000)]
0x0000000043d7f000 JavaThread "main" [_thread_in_native, id=9173, stack(0x000000004107d000,0x000000004117e000)]
Other Threads:
0x0000000043dd7000 VMThread [stack: 0x00000000403e4000,0x00000000404e5000] [id=9178]
0x0000000043e0f000 WatcherThread [stack: 0x0000000041bd5000,0x0000000041cd6000] [id=9185]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x0000000043d7c830] OsrList_lock - owner thread: 0x0000000044267800
Heap
PSYoungGen total 471680K, used 20796K [0x00002aaaed940000, 0x00002aab0abe0000, 0x00002aab0abe0000)
eden space 465664K, 4% used [0x00002aaaed940000,0x00002aaaeed8f0a8,0x00002aab0a000000)
from space 6016K, 0% used [0x00002aab0a000000,0x00002aab0a000000,0x00002aab0a5e0000)
to space 5760K, 0% used [0x00002aab0a640000,0x00002aab0a640000,0x00002aab0abe0000)
PSOldGen total 955776K, used 110793K [0x00002aaab33e0000, 0x00002aaaed940000, 0x00002aaaed940000)
object space 955776K, 11% used [0x00002aaab33e0000,0x00002aaaba012550,0x00002aaaed940000)
PSPermGen total 43072K, used 42828K [0x00002aaaadfe0000, 0x00002aaab09f0000, 0x00002aaab33e0000)
object space 43072K, 99% used [0x00002aaaadfe0000,0x00002aaab09b32f8,0x00002aaab09f0000)
VM Arguments:
jvm_args: -Xms1400m -Xmx1400m -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dsecurity.provider.1=com.sun.net.ssl.internal.ssl.Provider -Der.logfile=var/log/e-Recruiter.log -Dsun.net.inetaddr.ttl=7200 -DHTMLDOCPATH=/usr/bin/htmldoc -Doracle.jdbc.V8Compatible=true -Dldap.enable=true -Dldap.path=ldap://recruiter:recruiter@ldap4.ente.com:389,ldap5.ente.com:389,ldap6.ente.com:389/er-10.15.0.2
java_command: org.apache.jserv.JServ etc/jserv.properties
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=
PATH=/sbin:/usr/sbin:/bin:/usr/bin
USERNAME=root
LD_LIBRARY_PATH=/usr/local/ente-20080222/Sun/jdk1.6.0_15-x86_64/jre/lib/amd64/server:/usr/local/ente-20080222/Sun/jdk1.6.0_15-x86_64/jre/lib/amd64:/usr/local/ente-20080222/Sun/jdk1.6.0_15-x86_64/jre/../lib/amd64:/usr/local/ente/Oracle/client/lib
SHELL=/bin/bash
_JAVA_SR_SIGNUM=12
Signal Handlers:
SIGSEGV: [libjvm.so+0x6bdd00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x6bdd00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x594ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x594ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x594ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x594ed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x597690], sa_mask[0]=0x00000000, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x5973e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGTERM: [libjvm.so+0x5973e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x5973e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
--------------- S Y S T E M ---------------
OS:CentOS release 5.4 (Final)
uname:Linux 2.6.18-164.15.1.el5 #1 SMP Wed Mar 17 11:30:06 EDT 2010 x86_64
libc:glibc 2.5 NPTL 2.5
rlimit: STACK 10240k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:0.00 0.00 0.00
CPU:total 2 (1 cores per cpu, 1 threads per core) family 6 model 26 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2
Memory: 4k page, physical 4044572k(274688k free), swap 2031608k(2031532k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (14.1-b02) for linux-amd64 JRE (1.6.0_15-b03), built on Jul 2 2009 15:26:16 by "java_re" with gcc 3.2.2 (SuSE Linux)
time: Sun Aug 12 21:34:09 2012
elapsed time: 162182 seconds
答案 0 :(得分:0)
PSPermGen total 43072K, used 42828K [0x00002aaaadfe0000, 0x00002aaab09f0000, 0x00002aaab33e0000)
object space 43072K, 99% used [0x00002aaaadfe0000,0x00002aaab09b32f8,0x00002aaab09f0000)
您的permgen似乎已损坏,这可能是因为您的代码试图加载库。我怀疑通过以下代码加载的库可能与64位JVM不兼容。
在向JVM提交错误之前,我会在程序中检查以下代码行,这似乎是罪魁祸首。
com.ente.hrxml.resume.HtmlConverter.toHtml(Lorg/jdom/Document;)Ljava/lang/String;+49
答案 1 :(得分:0)
我建议增加perm gen空间(-XX:MaxPermSize)并在其上启用GC(-XX:+ CMSPermGenSweepingEnabled) - 40M并不多!如果要加载大量库,我还建议启用类卸载(-XX:+ CMSClassUnloadingEnabled)。请注意,如果你确实有内存泄漏,这只会让你在崩溃之间有更多的喘息空间,你仍然需要解决根本原因。