1

我在具有 16GB RAM 的 Windows 上使用 jdk1.8.0_281、hybris 1811 和 hsql 作为数据库。店面加载正常,但在下订单时出现 Java 堆空间错误。我试图在属性文件下面增加内存,但它没有修复它。以下是我添加的本地属性

tomcat.generaloptions=-Xmx2048M -Xms500M -Xss256K -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+CMSClassUnloadingEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -XX:+CMSScavengeBeforeRemark  -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:"${HYBRIS_LOG_DIR}/tomcat/java_gc.log" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dorg.tanukisoftware.wrapper.WrapperManager.mbean=true -Djava.endorsed.dirs=../lib/endorsed -Dcatalina.base=%CATALINA_BASE% -Dcatalina.home=%CATALINA_HOME% -Dfile.encoding=UTF-8 -Djava.util.logging.config.file=jdk_logging.properties -Djava.io.tmpdir="${HYBRIS_TEMP_DIR}" -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
tomcat.debugjavaoptions=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n -Xmx2048M -Xms500M

下面是我得到的错误堆栈跟踪

 FATAL [hybrisHTTP27] [ENGINE] DataFileCache.readObject 12319526
java.lang.OutOfMemoryError: Java heap space
    at org.hsqldb.rowio.RowInputBase.resetRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.rowio.RowInputBinary.resetRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.DataFileCache.get(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.index.NodeAVLDisk.findNode(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.index.NodeAVLDisk.getRight(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.index.NodeAVLDisk.child(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.index.IndexAVL.insert(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.persist.RowStoreAVLDisk.indexRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.TransactionManagerMVCC.addInsertAction(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.Session.addInsertAction(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.Table.insertSingleRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.StatementDML.insertSingleRow(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.StatementInsert.getResult(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.StatementDMQL.execute(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.Session.executeCompiledStatement(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source) ~[hsqldb-2.3.4.jar:2.3.4]
    at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor.lambda$5(PreparedStatementWithJDBCInterceptor.java:86) ~[coreserver.jar:?]
    at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor$$Lambda$67/859132519.get(Unknown Source) ~[?:?]
    at de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.passThrough(SQLRecoverableExceptionHandler.java:101) ~[coreserver.jar:?]
    at de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.get(SQLRecoverableExceptionHandler.java:59) ~[coreserver.jar:?]
    at de.hybris.platform.jdbcwrapper.interceptor.JDBCInterceptor.get(JDBCInterceptor.java:69) ~[coreserver.jar:?]
    at de.hybris.platform.jdbcwrapper.interceptor.PreparedStatementWithJDBCInterceptor.executeUpdate(PreparedStatementWithJDBCInterceptor.java:86) ~[coreserver.jar:?]
    at de.hybris.platform.jdbcwrapper.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:313) ~[coreserver.jar:?]
    at de.hybris.platform.persistence.GenericBMPBean$GenericItemEntityState.createEntity(GenericBMPBean.java:1816) ~[coreserver.jar:?]
    at de.hybris.platform.persistence.GenericBMPBean.ejbCreate(GenericBMPBean.java:398) ~[coreserver.jar:?]
    at sun.reflect.GeneratedMethodAccessor715.invoke(Unknown Source) ~[?:?]
FATAL [hybrisHTTP27] [ENGINE] DataFileCache.readObject 12319526
java.lang.OutOfMemoryError: Java heap space ""
4

0 回答 0