2012-01-30 14 views
2

Eclipseを実行する際に問題が発生しています。これは、今日のクラッシュの後にスローされた例外です。なぜLinuxマシンで標準のEclipseを実行できないのかわかりません。誰かが問題が何であるか考えている人はいますか?私は100回JVMを変更しようとしました。 eclipse.iniに惑わされても何も動かないようです。Eclipseがクラッシュする

RHEL5 AMD64でEclipse 64 3.7.1を実行しています。

Exception in thread "Worker-4" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Worker-4" 
Exception in thread "Keep-Alive-Timer" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Keep-Alive-Timer" 
Exception in thread "Worker-2" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Worker-2" 
Exception in thread "Worker-6" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Worker-6" 
Error while logging event loop exception: 
Exception in thread "Worker-3" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Worker-3" 
Exception in thread "Worker-7" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "Worker-7" 
Exception in thread "[Timer] - Main Queue Handler" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i           n thread "[Timer] - Main Queue Handler" 
Exception in thread "Worker-5" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-5" 
Exception in thread "Worker-8" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-8" 
Exception in thread "Worker-10" 
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-10" 
Exception in thread "Worker-9" 

私は彼がeclipse.iniファイルを増やしてみました。ここでは、クラッシュのいくつかのより多くのエラーです:

ここ
Error while informing user about event loop exception: 
java.lang.OutOfMemoryError: PermGen space 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas 
spathManager.java:601) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl 
asspathManager.java:567) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm 
pl(ClasspathManager.java:490) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L 
ockClassName(ClasspathManager.java:469) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C 
lasspathManager.java:456) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla 
ss(DefaultClassLoader.java:216) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo 
ader.java:400) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl 
eLoader.java:476) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:429) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:417) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De 
faultClassLoader.java:107) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas 
spathManager.java:601) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl 
asspathManager.java:567) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm 
pl(ClasspathManager.java:490) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L 
ockClassName(ClasspathManager.java:469) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C 
lasspathManager.java:456) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla 
ss(DefaultClassLoader.java:216) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo 
ader.java:400) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl 
eLoader.java:476) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:429) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:417) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De 
faultClassLoader.java:107) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter. 
getInnerIterator(CollectionFilter.java:106) 
     at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter. 
evaluate(CollectionFilter.java:56) 
Dialog open exception: 
java.lang.OutOfMemoryError: PermGen space 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas 
spathManager.java:601) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl 
asspathManager.java:567) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm 
pl(ClasspathManager.java:490) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L 
ockClassName(ClasspathManager.java:469) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C 
lasspathManager.java:456) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla 
ss(DefaultClassLoader.java:216) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo 
ader.java:400) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl 
eLoader.java:476) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:429) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:417) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De 
faultClassLoader.java:107) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas 
spathManager.java:601) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl 
asspathManager.java:567) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm 
pl(ClasspathManager.java:490) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L 
ockClassName(ClasspathManager.java:469) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C 
lasspathManager.java:456) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla 
ss(DefaultClassLoader.java:216) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo 
ader.java:400) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl 
eLoader.java:476) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:429) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:417) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De 
faultClassLoader.java:107) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openInternalQues 
tionDialog(IDEWorkbenchErrorHandler.java:225) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openQuestionDial 
og(IDEWorkbenchErrorHandler.java:194) 
Fatal error happened during workbench emergency close. 
java.lang.OutOfMemoryError: PermGen space 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas 
spathManager.java:601) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl 
asspathManager.java:567) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm 
pl(ClasspathManager.java:490) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L 
ockClassName(ClasspathManager.java:469) 
     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C 
lasspathManager.java:456) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla 
ss(DefaultClassLoader.java:216) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo 
ader.java:400) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl 
eLoader.java:476) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:429) 
     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader. 
java:417) 
     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De 
faultClassLoader.java:107) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at org.eclipse.ui.internal.Workbench.close(Workbench.java:1277) 
     at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose(WorkbenchC 
onfigurer.java:165) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.closeWorkbench(I 
DEWorkbenchErrorHandler.java:253) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handleException(
IDEWorkbenchErrorHandler.java:155) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.access$0(IDEWork 
benchErrorHandler.java:146) 
     at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler$1.runInUIThread(
IDEWorkbenchErrorHandler.java:121) 
     at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95) 
     at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 
     at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja         va:135) 
     at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563) 
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212) 
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) 
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) 
     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) 
     at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) 
     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja         va:332) 
     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav         a:667) 
Error while logging event loop exception: 
java.lang.OutOfMemoryError: PermGen space 
Logging exception: 
java.lang.OutOfMemoryError: PermGen space 
Error while informing user about event loop exception: 
java.lang.OutOfMemoryError: PermGen space 
Dialog open exception: 
java.lang.OutOfMemoryError: PermGen space 
Error while informing user about event loop exception: 
java.lang.OutOfMemoryError: PermGen space 
Dialog open exception: 
java.lang.OutOfMemoryError: PermGen space 
Error while logging event loop exception: 
java.lang.OutOfMemoryError: PermGen space 
Logging exception: 
java.lang.OutOfMemoryError: PermGen space 
Error while logging event loop exception: 
java.lang.OutOfMemoryError: PermGen space 

が私たeclipse.iniファイルです:Setting JVM maxperm size outside of Eclipse.iniをして、この問題を持つ他の誰のために良い答えを受け取った:

-startup 
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505 
-product 
org.eclipse.epp.package.jee.product 
--launcher.defaultAction 
openFile 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
256m 
--launcher.defaultAction 
openFile 
-vmargs 
-Dosgi.requiredJavaVersion=1.5 
-XX:MaxPermSize=256m 
-Xms1024m 
-Xmx1800m 

私はここで再びこの質問をしました。

+0

あなたのXmsとXmxの設定を考え直したいかもしれません。これらは、通常のアプリケーション開発では本当に大きなものです。 – Jeroen

+0

これまでのところ、iniファイルで設定されている設定はありません。ヒープとメモリの割り当てサイズを設定できる別の場所はありますか? – Randnum

答えて

2

java.lang.OutOfMemoryErrorであなたの日食クラッシュの原因となる多くの根本的な問題があるかもしれません。

マシンのメモリが不足していないかどうかを確認してください。これはfreeコマンドで行うことができます。あなたがovercommitを無効にしていない限り、メモリが不足していることは、この方法ではほとんど起こりません。

ulimit -vコマンドを使用して、プロセスごとの仮想メモリサイズ制限を確認してください。

-Xmxフラグを使用して、JVMがより大きなヒープを取得できるようにします。

あなたの食は、多くのプラグインをロードしている可能性があります。各プラグインにはいくつかのクラスが含まれており、これらのクラスはすべて永続的なヒープの世代に格納されます。 -XX:MaxPermSize JVMフラグを使用してプラグインを無効にするか、永続的な生成サイズを増やしてみてください。

EDIT:この問題は完全なスタックトレースと例外メッセージ文字列で拡張されているので、永続的な世代サイズは不十分であることは明らかです。したがって、上で示唆したように、-XX:MaxPermSizeでサイズを大きくするか、いくつかのプラグインを無効にしようとします。おそらく、あなたは最近、たくさんのクラスを含むプラグインを追加しましたか?

+0

同じ問題を抱えている他の人もチェックアウトしてください:クラスローダーのリークが問題になる可能性がありますhttp://stackoverflow.com/questions/9072656/setting- jvm-maxperm-size-outside-of-eclipse-ini/9072780#9072780 – Randnum

0

明らかに明白だが、メモリが不足していると、コンピュータのメモリが不足していますか?

さらに多くのメモリを割り当てるには、vm argsを使用して実行してください。このログにだけ行く

eclipse -vmargs -Xmx512m

+0

私のEclipse.iniのアップデートを見て、何か間違っているかも知れません。 – Randnum

+0

JProfilerを実行して、すべてのメモリがどこにあるのか確認できます。ここでは無料試用版(http://www.ej-technologies.com/download/jprofiler/trial)があり、私が正しく覚えていれば、Eclipseはそのインターフェースをデフォルトでサポートしています –

0

。私が見る限り、これはメモリサイズに関連する問題です。起動時にEclipseのメモリ量を見てみましたか?おそらく、デフォルトのJVMパラメータを構成しましたか? Eclipseが起動した後、ターミナルから 'ps -aux'を使って実行中のEclipseプロセスを確認することができます。

-Xmx512mまたは-XX:MaxPermSize = 128mのように表示されます。また、eclipse.iniを見て、メモリ関連の設定があるかどうか確認することもできます。

+0

私のeclipse.iniはどのように見えるのですか? – Randnum

+0

Eclipse、JVM、およびOSのバージョンも記述できますか?この[バグ](https://bugs.eclipse.org/bugs/show_bug.cgi?id=319514)にEclipse [FAQ](http://wiki.eclipse。)で述べたようにヒットした可能性があります。 org/FAQ_How_do_I_increase_the_permgen_size_available_to_Eclipse%3F) – Jeroen

+0

Linuxの場合64 JEE helios 3.7.1 Linuxの場合RHEL5 64 – Randnum

関連する問題