Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解JVM中的堆转储_Java_Mysql_Eclipse_Hibernate_Out Of Memory - Fatal编程技术网

Java 了解JVM中的堆转储

Java 了解JVM中的堆转储,java,mysql,eclipse,hibernate,out-of-memory,Java,Mysql,Eclipse,Hibernate,Out Of Memory,我在使用Hibernate将数据加载到MySql(MariaDB)数据库时遇到内存不足问题,错误消息如下: java.lang.OutOfMemoryError: Java heap space Dumping heap to /home/abigail/p4/projects/dump/java_pid28663.hprof ... Heap dump file created [228930060 bytes in 0.584 secs] 22:47:08,484 WARN [org.jb

我在使用Hibernate将数据加载到MySql(MariaDB)数据库时遇到内存不足问题,错误消息如下:

java.lang.OutOfMemoryError: Java heap space
Dumping heap to /home/abigail/p4/projects/dump/java_pid28663.hprof ...
Heap dump file created [228930060 bytes in 0.584 secs]
22:47:08,484 WARN  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (ServerService Thread Pool -- 69) IJ000305: Connection error occured: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@44e591b5[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@721498af connection handles=1 lastReturned=1458020814817 lastValidated=1458020814808 lastCheckedOut=1458020815292 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@359650cf mcp=SemaphoreArrayListManagedConnectionPool@7d036b73[pool=BombwordDS] xaResource=LocalXAResourceImpl@11bd5305[connectionListener=44e591b5 connectionManager=473a607d warned=false currentXid=null productName=MySQL productVersion=10.1.8-MariaDB jndiName=java:/jboss/datasources/BombwordDS] txSync=null]: javax.resource.spi.ResourceAdapterInternalException: Unexpected error
    at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.broadcastConnectionError(BaseWrapperManagedConnection.java:688)
    at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.connectionError(BaseWrapperManagedConnection.java:654)
    at org.jboss.jca.adapters.jdbc.WrappedConnection.checkException(WrappedConnection.java:1934)
    at org.jboss.jca.adapters.jdbc.WrappedStatement.checkException(WrappedStatement.java:1437)
    at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:418)
    at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64)
    at org.hibernate.tool.hbm2ddl.SchemaExport.importScript(SchemaExport.java:447)
    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:379)
    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:305)
    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:294)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:517)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)
    at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117)
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:665)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
    at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)
我正在运行64位CentOS。我不明白为什么内存使用量这么少时会出现OOM

已编辑:虚拟机设置:

-ea -Xms256m -Xmx4G -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/abigail/p4/projects/dump
几天前,我已经能够毫无问题地将同一个文件加载到数据库中。从那以后,我的申请没有什么变化。我不知道为什么突然出现了记忆问题

编辑:


请分享您的完整过程参数列表。请查看编辑。我假设您的驱动程序试图为查询结果分配一个巨大的缓冲区。你能检查一下缓冲区容量是多少吗(在java.nio.ByteBuffer#allocate中加一个断点)?@MaximKirilov,我附上了另一个直方图。这有用吗?我在Eclipse中找不到java.nio.ByteBuffer。请尝试附加java源代码。直方图仅显示已分配的对象。。。
-ea -Xms256m -Xmx4G -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/abigail/p4/projects/dump