jvm参数-无法为Coldfusion jvm分配额外内存



好日子,

我在Windows 2003 32位服务器上运行Coldfusion 8 MX,内存为4gg(2gg总是免费的),但我无法为JVM分配超过550m的内存。

我已经提交了这个问题,但它太长了,与我所有的编辑都混淆了。我最接近它的起步是当我设置-Xmn时,它跑了10分钟才坠毁。崩溃后,即使有同样的args,它也不会再以1024米开始。

这些崩溃日志适用于Java 1.6.0_38。我尝试过Java5,它给出了相同的结果。我甚至无法让CF8从Java7开始(这是一个单独的问题)。

我需要为JVM分配更多的RAM,这样CF就不会在重负载下不断崩溃,所以如果能深入了解这种行为,我将不胜感激。

Java Args是:

java.args=-server -Xmx1024m -Xms1024m -Xmn200m -XX:MaxPermSize=256m -XX:PermSize=256m -Xloggc:{application.home}/../logs/CFGC/CFGC.log -XX:+PrintGCDetails -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib

崩溃日志#1(服务器在生成此日志之前运行了10分钟):

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c82a5c4, pid=4604, tid=4760
#
# JRE version: 6.0_38-b05
# Java VM: Java HotSpot(TM) Server VM (20.13-b02 mixed mode windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x2a5c4]
#
# 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 (0x5c4f0400):  JavaThread "jrpp-2" [_thread_in_native, id=4760, stack(0x638d0000,0x639d0000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x00000000
Registers:
EAX=0x680bd710, EBX=0x003e0000, ECX=0x00000000, EDX=0x00000000
ESP=0x639cc950, EBP=0x639cc95c, ESI=0x680bd708, EDI=0x680b56f8
EIP=0x7c82a5c4, EFLAGS=0x00010246
Top of Stack: (sp=0x639cc950)
0x639cc950:   003e0000 680b56f8 00000000 639cca44
0x639cc960:   7c82a69b 003e0000 00000000 639cca24
0x639cc970:   00000000 00000057 680b5700 00008004
0x639cc980:   04c0a470 7c827b79 71b219d6 000018a4
0x639cc990:   00000001 639cc9ac 000018a4 00000103
0x639cc9a0:   00000103 639cc9c0 7c826e39 ffb3b4c0
0x639cc9b0:   ffffffff 0014dfa8 00000000 00000000
0x639cc9c0:   639cca38 580d0000 000018a4 00002020 
Instructions: (pc=0x7c82a5c4)
0x7c82a5a4:   85 db a6 02 00 8a 46 05 24 10 a8 10 88 47 05 0f
0x7c82a5b4:   85 02 0f 00 00 8b 4e 0c 8d 46 08 8b 10 89 4d 0c
0x7c82a5c4:   8b 09 3b 4a 04 89 55 14 0f 85 f5 72 01 00 3b c8
0x7c82a5d4:   0f 85 ed 72 01 00 56 53 e8 17 fa ff ff 8b 45 14 

Register to memory mapping:
EAX=0x680bd710 is an unknown value
EBX=0x003e0000 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x00000000 is an unknown value
ESP=0x639cc950 is pointing into the stack for thread: 0x5c4f0400
EBP=0x639cc95c is pointing into the stack for thread: 0x5c4f0400
ESI=0x680bd708 is an unknown value
EDI=0x680b56f8 is an unknown value

Stack: [0x638d0000,0x639d0000],  sp=0x639cc950,  free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x2a5c4]  wcslen+0x1d6
C  [ntdll.dll+0x2a69b]  wcslen+0x2ad
C  [MSVCR71.dll+0x218a]  free+0x39
C  [net.dll+0x711f]  Java_java_net_SocketInputStream_socketRead0+0x1c6
j  java.net.SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I+0
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.net.SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I+0
J  macromedia.jdbc.sqlserver.SQLServerByteOrderedDataReader.makeMoreDataAvailable()V
j  macromedia.jdbc.sqlserver.SQLServerByteOrderedDataReader.receive()V+14
j  macromedia.jdbc.sqlserver.tds.TDSRPCRequest.submitRequest(Lmacromedia/jdbc/sqlserver/SQLServerImplStatement;)V+132
j  macromedia.jdbc.sqlserver.tds.TDSRPCNonCursorExecuteRequest.submitPrepExec(Lmacromedia/jdbc/sqlserver/SQLServerImplStatement;Lmacromedia/jdbc/base/BaseWarnings;)V+26
j  macromedia.jdbc.sqlserver.tds.TDSRPCExecuteRequest.doPrepExec(Lmacromedia/jdbc/sqlserver/SQLServerImplStatement;Lmacromedia/jdbc/base/BaseWarnings;)V+29
j  macromedia.jdbc.sqlserver.tds.TDSRPCExecuteRequest.execute(Lmacromedia/jdbc/sqlserver/SQLServerImplStatement;Lmacromedia/jdbc/base/BaseWarnings;)V+339
j  macromedia.jdbc.sqlserver.SQLServerImplStatement.execute()V+468
j  macromedia.jdbc.base.BaseStatement.commonExecute()V+40
j  macromedia.jdbc.base.BaseStatement.executeInternal()Z+5
j  macromedia.jdbc.base.BasePreparedStatement.execute()Z+42
j  macromedia.jdbc.base.BasePreparedStatementPoolable.execute()Z+4
j  coldfusion.sql.Executive.executeQuery(Ljava/sql/Connection;Ljava/lang/String;Lcoldfusion/sql/ParameterList;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;[IIIZZ)Lcoldfusion/sql/Table;+507
j  coldfusion.sql.Executive.executeQuery(Ljava/sql/Connection;Ljava/lang/String;Lcoldfusion/sql/ParameterList;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;[ILcoldfusion/sql/DataSourceDef;)Lcoldfusion/sql/Table;+181
j  coldfusion.sql.Executive.executeQuery(Ljava/sql/Connection;Ljava/lang/String;Lcoldfusion/sql/ParameterList;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;[ILjava/lang/Object;)Lcoldfusion/sql/Table;+61
j  coldfusion.sql.SqlImpl.execute(Z)Lcoldfusion/sql/Table;+138
j  coldfusion.tagext.sql.QueryTag.executeQuery(Z)Lcoldfusion/sql/Table;+5
j  coldfusion.tagext.sql.QueryTag.doEndTag()I+65
j  cfTransferGateway2ecfc585582040$funcLISTBYPROPERTYMAP.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+2719
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfSQLManager2ecfc937842696$funcLISTBYPROPERTYMAP.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+450
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
j  coldfusion.runtime.UDFMethod.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+26
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;Ljava/util/Map;Ljavax/servlet/jsp/PageContext;)Ljava/lang/Object;
j  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;+58
j  cfTransfer2ecfc1333771829$funcREADBYPROPERTYMAP.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+278
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfUserService2ecfc1575820687$funcGETUSERBYPROPERTYMAP.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+116
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfCardListener2ecfc1071855549$funcGETCARD.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+333
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
j  coldfusion.runtime.UDFMethod.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+26
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;Ljava/util/Map;Ljavax/servlet/jsp/PageContext;)Ljava/lang/Object;
j  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;+58
j  coldfusion.tagext.lang.InvokeTag.doEndTag()I+176
j  cfEventInvoker2ecfc577457096$funcINVOKELISTENER.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+412
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfNotifyCommand2ecfc1810625261$funcEXECUTE.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+295
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfEventHandler2ecfc451386063$funcHANDLEEVENT.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+322
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfRequestHandler2ecfc128659239$funcHANDLEEVENT.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+862
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invokeUDF(Ljava/lang/Object;Ljava/lang/String;Lcoldfusion/runtime/CFPage;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfRequestHandler2ecfc128659239$funcHANDLENEXTEVENT.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+181
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invokeUDF(Ljava/lang/Object;Ljava/lang/String;Lcoldfusion/runtime/CFPage;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfRequestHandler2ecfc128659239$funcPROCESSEVENTS.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+390
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invokeUDF(Ljava/lang/Object;Ljava/lang/String;Lcoldfusion/runtime/CFPage;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfRequestHandler2ecfc128659239$funcHANDLEREQUEST.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+1738
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfmach2dii2ecfc392524582$funcHANDLEREQUEST.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+1653
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod.runFilterChain(Ljava/lang/Object;Ljava/lang/Object;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;
J  coldfusion.runtime.CfJspPage._invokeUDF(Ljava/lang/Object;Ljava/lang/String;Lcoldfusion/runtime/CFPage;[Ljava/lang/Object;)Ljava/lang/Object;
j  cfApplication2ecfc1704547219$funcONREQUESTSTART.runFunction(Lcoldfusion/runtime/LocalScope;Ljava/lang/Object;Lcoldfusion/runtime/CFPage;Lcoldfusion/runtime/ArgumentCollection;)Ljava/lang/Object;+829
J  coldfusion.runtime.UDFMethod.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(Lcoldfusion/filter/FusionContext;)V
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/Map;Lcoldfusion/runtime/CfJspPage;Lcoldfusion/filter/FusionContext;)Ljava/lang/Object;
J  coldfusion.runtime.TemplateProxy.invoke(Ljava/lang/String;[Ljava/lang/Object;Ljavax/servlet/jsp/PageContext;)Ljava/lang/Object;
j  coldfusion.runtime.AppEventInvoker.invoke(Ljava/lang/String;[Ljava/lang/Object;Lcoldfusion/filter/FusionContext;)Z+28
j  coldfusion.runtime.AppEventInvoker.onRequestStart([Ljava/lang/Object;Lcoldfusion/filter/FusionContext;)Z+5
j  coldfusion.filter.ApplicationFilter.invoke(Lcoldfusion/filter/FusionContext;)V+676
j  coldfusion.filter.RequestMonitorFilter.invoke(Lcoldfusion/filter/FusionContext;)V+56
j  coldfusion.filter.MonitoringFilter.invoke(Lcoldfusion/filter/FusionContext;)V+12
j  coldfusion.filter.PathFilter.invoke(Lcoldfusion/filter/FusionContext;)V+124
j  coldfusion.filter.ExceptionFilter.invoke(Lcoldfusion/filter/FusionContext;)V+13
j  coldfusion.filter.ClientScopePersistenceFilter.invoke(Lcoldfusion/filter/FusionContext;)V+5
j  coldfusion.filter.BrowserFilter.invoke(Lcoldfusion/filter/FusionContext;)V+35
j  coldfusion.filter.NoCacheFilter.invoke(Lcoldfusion/filter/FusionContext;)V+120
j  coldfusion.filter.GlobalsFilter.invoke(Lcoldfusion/filter/FusionContext;)V+13
j  coldfusion.filter.DatasourceFilter.invoke(Lcoldfusion/filter/FusionContext;)V+5
j  coldfusion.filter.RequestThrottleFilter.invoke(Lcoldfusion/filter/FusionContext;)V+82
j  coldfusion.CfmServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+114
j  coldfusion.bootstrap.BootstrapServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j  jrun.servlet.FilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+53
j  com.intergral.fusionreactor.filter.FusionReactorCoreFilter.doHttpServletRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+468
j  com.intergral.fusionreactor.filter.FusionReactorCoreFilter.doFusionRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+262
j  com.intergral.fusionreactor.filter.FusionReactorCoreFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+45
j  com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+39
j  jrun.servlet.FilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+80
j  coldfusion.monitor.event.MonitoringServletFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+9
j  coldfusion.bootstrap.BootstrapFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+25
j  jrun.servlet.FilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+80
j  jrun.servlet.FilterChain.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+3
j  jrun.servlet.ServletInvoker.invoke(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljrun/servlet/InvokerChain;)V+183
j  jrun.servlet.JRunInvokerChain.invokeNext(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+55
j  jrun.servlet.JRunRequestDispatcher.invoke(Ljrun/servlet/ServletConnection;)V+249
j  jrun.servlet.ServletEngineService.dispatch(Ljrun/servlet/ServletConnection;)V+74
j  jrun.servlet.jrpp.JRunProxyService.invokeRunnable(Ljava/lang/Runnable;)V+24
j  jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(Ljava/lang/Runnable;)V+113
j  jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(Ljava/lang/Runnable;)V+16
j  jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(Ljava/lang/Runnable;)V+47
j  jrunx.scheduler.WorkerThread.run()V+24
v  ~StubRoutines::call_stub
---------------  P R O C E S S  ---------------
[I removed this section due to StackOverflow question size limits. Please let me know if you need to see this]
Other Threads:
0x56879000 VMThread [stack: 0x566d0000,0x567d0000] [id=5156]
0x568af000 WatcherThread [stack: 0x57260000,0x57360000] [id=3788]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
par new generation   total 184320K, used 34086K [0x039d0000, 0x101d0000, 0x101d0000)
eden space 163840K,  11% used [0x039d0000, 0x04cc5c60, 0x0d9d0000)
from space 20480K,  71% used [0x0edd0000, 0x0fc23e68, 0x101d0000)
to   space 20480K,   0% used [0x0d9d0000, 0x0d9d0000, 0x0edd0000)
concurrent mark-sweep generation total 843776K, used 325395K [0x101d0000, 0x439d0000, 0x439d0000)
concurrent-mark-sweep perm gen total 262144K, used 146524K [0x439d0000, 0x539d0000, 0x539d0000)
Code Cache  [0x00710000, 0x010f8000, 0x03710000)
total_blobs=2699 nmethods=2465 adapters=187 free_code_cache=40016832 largest_free_block=17152
Dynamic libraries:
[I removed this section due to StackOverflow question size limits. Please let me know if you need to see this]
VM Arguments:
jvm_args: -Xmx1024m -Xms1024m -Xmn200m -XX:MaxPermSize=256m -XX:PermSize=256m -Xloggc:C:ColdFusion8runtime/../logs/CFGC/CFGC.log -XX:+PrintGCDetails -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Dcoldfusion.rootDir=C:ColdFusion8runtime/../ -Dcoldfusion.libPath=C:ColdFusion8runtime/../lib -Dsun.io.useCanonCaches=false -Djmx.invoke.getters=true 
java_command: <unknown>
Launcher Type: generic
Environment Variables:
PATH=C:ColdFusion8runtime..lib;C:ColdFusion8runtime..jintegrabin;C:ColdFusion8runtime..jintegrabininternational;C:Program FilesCollabNet Subversion Server;C:ColdFusion8verityk2_nti40bin;C:CFusionMX7verityk2_nti40bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:PROGRA~1NcFTP;C:WINDOWSsystem32WindowsPowerShellv1.0;C:WINDOWSsystem32WindowsPowerShellv1.0;D:StrawberryPerlcbin;D:StrawberryPerlperlsitebin;D:StrawberryPerlperlbin;D:phpext;
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel

---------------  S Y S T E M  ---------------
OS: Windows Server 2003 family Build 3790 Service Pack 2
CPU:total 2 (1 cores per cpu, 1 threads per core) family 6 model 23 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1
Memory: 4k page, physical 3919344k(2146400k free), swap 7963284k(5585376k free)
vm_info: Java HotSpot(TM) Server VM (20.13-b02) for windows-x86 JRE (1.6.0_38-b05), built on Nov 14 2012 01:50:25 by "java_re" with MS VC++ 7.1 (VS2003)
time: Wed Feb 06 17:21:55 2013
elapsed time: 401 seconds

崩溃日志#2(在它崩溃后,我试图用相同的配置重新启动CF服务,但它甚至无法启动,并产生了这个错误):

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c8194cd, pid=6020, tid=5608
#
# JRE version: 6.0_38-b05
# Java VM: Java HotSpot(TM) Server VM (20.13-b02 mixed mode windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x194cd]
#
# 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 (0x568a2c00):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=5608, stack(0x57060000,0x57160000)]
siginfo: ExceptionCode=0xc0000005, writing address 0x0000e010
Registers:
EAX=0x5b644638, EBX=0x5a9f0000, ECX=0x5b652658, EDX=0x0000e010
ESP=0x5715e534, EBP=0x5715e56c, ESI=0x003e0000, EDI=0x5b652650
EIP=0x7c8194cd, EFLAGS=0x00010283
Top of Stack: (sp=0x5715e534)
0x5715e534:   5b652650 5b652658 5b652650 580d0000
0x5715e544:   00000000 5b673000 00000000 567d0140
0x5715e554:   00000000 00000000 00000000 00000136
0x5715e564:   00000000 00000000 5715e590 7c81727a
0x5715e574:   5b653000 00020000 00000136 00001000
0x5715e584:   5b652650 003e0000 00000071 5715e7b8
0x5715e594:   7c82b460 003e0000 00007ff4 00007ff4
0x5715e5a4:   579f2508 7c86a7b2 00000000 5715e5d4 
Instructions: (pc=0x7c8194cd)
0x7c8194ad:   ff ff 0f b7 c8 8d 84 ce 78 01 00 00 39 00 0f 84
0x7c8194bd:   1d 55 ff ff 8b 50 04 8d 4f 08 89 01 89 51 04 57
0x7c8194cd:   89 0a 56 89 48 04 e8 5d 0f 01 00 66 83 7d fc 00
0x7c8194dd:   0f 85 0b 73 ff ff 8b 45 ec 85 c0 0f 85 8a 2d ff 

Register to memory mapping:
EAX=0x5b644638 is an unknown value
EBX=0x5a9f0000 is pointing into the stack for thread: 0x57608400
ECX=0x5b652658 is an unknown value
EDX=0x0000e010 is an unknown value
ESP=0x5715e534 is pointing into the stack for thread: 0x568a2c00
EBP=0x5715e56c is pointing into the stack for thread: 0x568a2c00
ESI=0x003e0000 is an unknown value
EDI=0x5b652650 is an unknown value

Stack: [0x57060000,0x57160000],  sp=0x5715e534,  free space=1017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x194cd]  RtlFreeThreadActivationContextStack+0x418
C  [ntdll.dll+0x1727a]  towlower+0xb1
C  [ntdll.dll+0x2b460]  wcscpy+0x175
C  [MSVCR71.dll+0x16b3]  _crtLCMapStringA+0x305
C  [MSVCR71.dll+0x16db]  _crtLCMapStringA+0x32d
V  [jvm.dll+0x5edd3]
V  [jvm.dll+0x5eff2]
V  [jvm.dll+0x5f273]
V  [jvm.dll+0x27ed7e]
V  [jvm.dll+0x27c263]
V  [jvm.dll+0x259bf9]
V  [jvm.dll+0x2600a3]
V  [jvm.dll+0x261382]
V  [jvm.dll+0x24fa4a]
V  [jvm.dll+0x4882d]
V  [jvm.dll+0x493bf]
V  [jvm.dll+0x12e8a4]
V  [jvm.dll+0x15719c]
C  [MSVCR71.dll+0x9565]  endthreadex+0xa0
C  [kernel32.dll+0x2482f]  GetModuleHandleA+0xdf

Current CompileTask:
C2:   4520  97      java.util.Arrays.mergeSort([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V (235 bytes)

---------------  P R O C E S S  ---------------
[I removed this section due to StackOverflow question size limits. Please let me know if you need to see this]
Other Threads:
0x56879000 VMThread [stack: 0x566d0000,0x567d0000] [id=320]
0x568a6c00 WatcherThread [stack: 0x57260000,0x57360000] [id=5852]
VM state:synchronizing (normal execution)
VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0x003e61c8] Threads_lock - owner thread: 0x56879000
Heap
par new generation   total 184320K, used 37692K [0x039d0000, 0x101d0000, 0x101d0000)
eden space 163840K,  23% used [0x039d0000, 0x05e9f248, 0x0d9d0000)
from space 20480K,   0% used [0x0d9d0000, 0x0d9d0000, 0x0edd0000)
to   space 20480K,   0% used [0x0edd0000, 0x0edd0000, 0x101d0000)
concurrent mark-sweep generation total 843776K, used 1673K [0x101d0000, 0x439d0000, 0x439d0000)
concurrent-mark-sweep perm gen total 262144K, used 12535K [0x439d0000, 0x539d0000, 0x539d0000)
Code Cache  [0x00710000, 0x00950000, 0x03710000)
total_blobs=244 nmethods=121 adapters=77 free_code_cache=49693952 largest_free_block=21888
Dynamic libraries:
[I removed this section due to StackOverflow question size limits. Please let me know if you need to see this]
VM Arguments:
jvm_args: -Xmx1024m -Xms1024m -Xmn200m -XX:MaxPermSize=256m -XX:PermSize=256m -Xloggc:C:ColdFusion8runtime/../logs/CFGC/CFGC.log -XX:+PrintGCDetails -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Dcoldfusion.rootDir=C:ColdFusion8runtime/../ -Dcoldfusion.libPath=C:ColdFusion8runtime/../lib -Dsun.io.useCanonCaches=false -Djmx.invoke.getters=true 
java_command: <unknown>
Launcher Type: generic
Environment Variables:
PATH=C:ColdFusion8runtime..lib;C:ColdFusion8runtime..jintegrabin;C:ColdFusion8runtime..jintegrabininternational;C:Program FilesCollabNet Subversion Server;C:ColdFusion8verityk2_nti40bin;C:CFusionMX7verityk2_nti40bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:PROGRA~1NcFTP;C:WINDOWSsystem32WindowsPowerShellv1.0;C:WINDOWSsystem32WindowsPowerShellv1.0;D:StrawberryPerlcbin;D:StrawberryPerlperlsitebin;D:StrawberryPerlperlbin;D:phpext;
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel

---------------  S Y S T E M  ---------------
OS: Windows Server 2003 family Build 3790 Service Pack 2
CPU:total 2 (1 cores per cpu, 1 threads per core) family 6 model 23 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1
Memory: 4k page, physical 3919344k(2858352k free), swap 7963284k(5630528k free)
vm_info: Java HotSpot(TM) Server VM (20.13-b02) for windows-x86 JRE (1.6.0_38-b05), built on Nov 14 2012 01:50:25 by "java_re" with MS VC++ 7.1 (VS2003)
time: Wed Feb 06 17:22:00 2013
elapsed time: 4 seconds

您在32位虚拟机上运行,这对堆的大小施加了一些限制。我不是世界上最好的权威,所以您可能需要在谷歌上做进一步的搜索来确认/澄清其中的一些点。

每个进程只有2 Gig的内存限制,所以有很多东西需要适应:

  • 你的堆。在上面的例子中是1个gig
  • 你的佩尔姆根(我相信那不是堆里的)。这是256毫克
  • 堆栈内存:每个线程都有一个堆栈,在上面的例子中,它至少是一个meg。将线程数乘以1 meg,再加上上面的1.25 gig
  • 本机Java代码。JVM的代码和本机内存需要加载或映射到内存空间中
  • 其他dll,如Windows功能(ntdll.dll和MSVCR71.dll),以及我相信防病毒和各种其他cruft都可以映射到中

我相信,如果DLL被映射到整个2Gg空间的内存位置,你可能会遇到内存分配问题,你会得到一种没有大的连续内存块可用的碎片。

计算活动线程的数量(从上面的转储中剪下的部分),看看这会给你的内存带来多少影响。我们的应用程序使用-Xss256k将线程堆栈大小减少到256k,我们已经在规模和负载上进行了测试,它在我们的应用中运行良好,但您需要测试自己的应用程序。

崩溃后,CF根本不会启动,它会以更低的-Xmx设置启动吗?

尝试使用SysInternals中的VMMap.exe工具。它会向你展示比你想知道的更多关于你的流程在做什么的信息。ProcMon对于更高级别的流程信息也非常有用。

我想和大家分享我的最终解决方案。

关于我是如何达成这一解决方案的,我不想再向你透露那些无聊的细节了。可以说,我收到的最好的建议是"首先找出问题所在"。

我最终安装了JRockit,以此来识别哪些代码占用了最多的RAM。

在此过程中,有必要将Coldfusion使用的JRE更改为JRockit内部JRE。

#java.home=D:/Program Files/Java/jdk1.6.0_38/jre
java.home=D:/Program Files/Java/jrockit-jdk1.6.0_37-R28.2.5-4.1.0/jre

我相信这个JRE是由BEA而不是SUN制作的?不要引用我的话。但是我需要更改我的java参数如下:

java.args=-server -Xmx1200m -Xms1200m -Xns300m -Xgc:singlecon -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib -Dcom.sun.management.jmxremote.port=53578 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

我已经打开了一个随机端口,JRockit可以用来评测JVM堆的使用情况。它为我指明了几段代码的方向,我从未想过这些代码会有问题。

然而,我也一直在修改RAM设置,发现1200米似乎运行得很好。

经验教训:并非所有JRE都是平等创建的。

最新更新