Domanda

Sto cercando di analizzare un ~ 800MB discarica mucchio, che richiede un mucchio più grande rispetto allo standard per la mia eclissi. tuttavia, quando vado al file eclipse.ini e impostare un -Xmx2g (o -Xmx2048m) ottengo un errore "Impossibile creare la Java Virtual Machine".

1) sì, ho memoria sufficiente. 2) posso cambiarlo fino a esattamente -Xmx976m. 3) Ho provato l'analizzatore MAT autonomo e funziona con Xmx1024m, non un byte di più. 4) No, 1gb non è sufficiente per analizzare quel mucchio, ho un OOM

Questo è l'errore eclissi: alt text

Questo è l'errore MAT: alt text

(mi sa che sono la stessa cosa, questo è solo così si può vedere un esempio con MAT)

Il mio attuale eclipse.ini (di lavoro) è:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m

Chiunque capisce questo fuori?

grazie!

f.

È stato utile?

Soluzione 4

Ho creato un'applicazione falso per params prova JVM, e quello che ho trovato è che la JVM non sembra di swap in Windows, almeno non formano l'avvio. Ho 4GB di RAM, ma permette soltanto che me allocare lo spazio libero rimanente. Strano come funziona diverso per i diversi appps: il mio falso applicazione ha permesso la mia per andare fino a Xmx1380m mentre Eclipse è andato solo fino a Xmx1024m

.

L'errore va come:

$ java -jar -Xmx1500m "C:\fakeapp.jar"
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

Stessa cosa ma -Xmx1380g e l'applicazione è andato bene.

mai avuto questo problema in UNIX, l'heap inizierà con qualunque sia la dimensione che dici, anche se va dritto per swap.

Per chi ha questo problema su Windows: prima Ctrl controllo + shift + esc -> Prestazioni -> Physycal memoria; e impostare Xmx quasi lo stesso valore indicato in 'disponibile'.

Sarebbe bello se qualcuno potrebbe dire come evitare che JVM controllare se davvero avete abbastanza memoria libera prima di iniziare. Il 1.5g sto usando lavorato come sto l'elaborazione di un heap dump di soli 800 MB, ma se fosse un po 'più grande che avrei non ho dove correre ...

applausi,

f.

Altri suggerimenti

Il problema che state vedendo è su Windows presumo?

Ho avuto lo stesso problema. Dopo aver letto il vostro problema sono uscito di nuovo a scavare. Ho appena trovato una soluzione al mio problema. Se è lo stesso provarlo. Nel file ini Eclipse o MemoryAnalyzer, rimuovere il - fromthe opzione Xmx. Il mio file ini diventa allora

-vmargs
Xmx1536m

e ora funziona come un fascino con più memoria. Grazie al commento di Alex2308 in questa discussione http://troyworks.com/blog/2008/06/08/eclipse-jvm-terminated-exit-code-1/comment-page-1/#comment-80


La mia soluzione precedente era quello di ottenere un disco Linux Live. avvio per Linux e poi sono stato in grado di 2g allocato nella MAT senza alcun problema. (Assicuratevi di avere MAT per Linux)

Non è la migliore attorno al lavoro, ma non ho mai trovato oggetti sul forum MAT che indicano un bug.

Sembra che siete su un 32 bit VM. Il Java VM tenta di riservare l'intera spazio di memoria in un unico blocco, il che significa che a seconda di dove le DLL di sistema si trovano potrebbe non essere in grado di ottenere più di tanto la memoria. Il passaggio a un 64-bit VM (che richiede ovviamente un 64-bit CPU e OS) deve sistemare le cose.

Avere si modifica l'impostazione di Java Runtime Environment nel Pannello di controllo di Java? Con l'aggiunta di runtime parametro per esempio -Xmx3072m nella colonna di runtime dei parametri.

Forse è possibile verificare i dettagli qui ..

Aumento JVM in Windows 7

La speranza è di aiuto per risolvere il problema ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top