2009-03-04 15 views
9

ごくわずかなカスタマイズで新しくGlassfishをインストールしています。glassfishのJavaヒープスペースエラー

トピックをリッスンしてデータベースで受け取るオブジェクトを更新するMessage Driven Bean(ObjectUpdateMDB)があります。多くのオブジェクトが更新されています。実行中にこの例外が発生した場合:

 
SEVERE: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [rollback] operation. 
SEVERE: MDB00049: Message-driven bean [Persistence:ObjectUpdateMDB]: Exception in postinvoke : [javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [rollback] operation. vmcid: 0x0 minor code: 0 completed: No] 
SEVERE: javax.transaction.SystemException 
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [rollback] operation. vmcid: 0x0 minor code: 0 completed: No 
    at com.sun.jts.jta.TransactionManagerImpl.rollback(TransactionManagerImpl.java:350) 
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.rollback(J2EETransactionManagerImpl.java:1144) 
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.rollback(J2EETransactionManagerOpt.java:426) 
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3767) 
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571) 
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226) 
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197) 
    at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79) 
    at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139) 
    at $Proxy98.afterDelivery(Unknown Source) 
    at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324) 
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76) 
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555) 

INFO: MDB00037: [Persistence:ObjectUpdateMDB]: Message-driven bean invocation exception: [java.lang.OutOfMemoryError: Java heap space] 
INFO: java.lang.OutOfMemoryError 
java.lang.OutOfMemoryError: Java heap space 

ヒープスペースの問題のようです。ヒープスペースを調整するには何が必要ですか? App Server自体またはブローカ?これはどうすればいいですか?

答えて

8

GlassfishインストールにさらにRAMを割り当てる必要があります。

http://spaquet.blogspot.com/2006/07/liferay-glassfish-part-ii-configuring.html

http://docs.sun.com/app/docs/doc/820-4495/gepzd?a=viewを参照してください。

+0

これを行うVMArgはありますか?どうすればいい? – systemoutprintln

+0

これを見てください:http://spaquet.blogspot.com/2006/07/liferay-glassfish-part-ii-configuring.html – OscarRyz

+0

そしてこれは:http://docs.sun.com/app/docs/doc/820-4495/gepzd?a = view – OscarRyz

1

私はVM tuningについて私のブログに投稿しており、読者はJava Tuning White Paperです。

とにかく、あなたはおそらく基本的な設定のカップルになっているはずです迅速な答えを得るために:

-Xms:初期ヒープサイズ

-Xmx:最大ヒープサイズを

取得するにはこれらについての簡単な説明は、java -Xです。

./alex

0

これが関連している場合、私は知らないが、CORBA例外が生じたXAトランザクションを使用した場合、我々はいくつかの奇妙な例外を得ました。その理由はMySQLドライバであり、最新のMySQL JDBCドライバ(5.1.7)にアップグレードした後、これらのXAの問題はなくなりました。

7

私はGlassfishの3.1上の問題をソートするために、次のasadminのコマンドを使用しています

asadmin create-jvm-options --target server-config -- '-XX\:+UnlockExperimentalVMOptions' 
asadmin create-jvm-options --target server-config -- '-XX\:+UseG1GC' 
asadmin delete-jvm-options --target server-config -- '-Xmx512m' 
asadmin create-jvm-options --target server-config -- '-Xmx1024m' 
asadmin delete-jvm-options --target server-config -- '-XX\:MaxPermSize=192m' 
asadmin create-jvm-options --target server-config -- '-XX\:MaxPermSize=256m' 

asadmin create-jvm-options --target default-config -- '-XX\:+UnlockExperimentalVMOptions' 
asadmin create-jvm-options --target default-config -- '-XX\:+UseG1GC' 
asadmin delete-jvm-options --target default-config -- '-Xmx512m' 
asadmin create-jvm-options --target default-config -- '-Xmx1024m' 
asadmin delete-jvm-options --target default-config -- '-XX\:MaxPermSize=192m' 
asadmin create-jvm-options --target default-config -- '-XX\:MaxPermSize=256m' 

それはブギーマンヒントのバリエーションです。 asadminコマンドを使用すると、変更を簡単に繰り返すことができます。

また、通常のコレクタよりもはるかに優れた新しいG1コレクタに切り替えました。 Eclipseでも役立ちます;-)

構文は、WindowsのTakeCommand用です。シェルとOSの異なる組み合わせを使用する場合、異なるエスケープ文字(ほとんどのUNIXシェルではバッククォートの代わりにi.E.ストレートティック)が必要になることがあります。

*-jvm-optionsコマンドでセットアップを混乱させた場合は、domain.xmlファイルで修正できます。

関連する問題