|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
[JAVA] Problema: aumentare heap space
Ciao a tutti,
lavoro su win 7 con eclipse 3.7. Sto sviluppando un programma di gestione aziendale che mi si blocca per questo errore: java.lang.OutOfMemoryError: Java heap space. Ho cercato in giro su internet ma non riesco a capire come poter aumentare la dimensione disponibile per la Virtual Machine. Presumo il problema sia solo questo, la dimensione della VM. Nessuno ha mai riscontrato questo caso? Avrei bisogno di una mano ![]() Grazie a tutti
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ci sono due parametri appositi che puoi passare al comando java per configurare l'heap size.
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
ok grazie, è proprio questo il mio dubbio: dove devo inserire i comandi? dal prompt? ci ho provato ma non mi apre la classe... potresti farmi un esempio per favore?
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
Grazie ma non è servito, già lo avevo provato purtoppo. Ho anche modificato il file eclipse.ini e cambiato direttamente li la massima dimensione ma ho sempre lo stesso errore. Non so proprio come rimediare
![]()
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Ma siamo sicuri che questo errore non sia sintomo di qualche errore nel programma?
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
Sono sicuro che il programma è corretto, in quanto l'errore di memoria terminata accade in diversi punti del programma, cioè a seconda di quante operazioni ho fatto può apparire prima o dopo, non in punto preciso, altrimenti avrei trovato l'errore. Putroppo il programma è molto pesante, è vero, ma corretto. Cosa posso fare?
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
![]() Comunque puoi attaccare visualvm (googla qualcosa tipo "detect memory leak with visualvm") al processo, tracciare tutto (con relativo overhead a spruzzo) e vedere se le "surviving generations" crescono in continuazione (probabile memory leak) e quali sono le classi che occupano più memoria. Come le imposti le opzioni per la vm per dimensionare lo spazio di heap? (fai uno screenshot al massimo se fai tutto da eclipse e non a riga di comando...)
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
Proverò VisualVM e riferirò, comunque non avendo mai avuto problemi di questo genere non ho mai settato la VM, gli unici parametri che ho messo sono stati gli stessi suggeriti qui nella discussione.
Il programma in se funziona, lo stiamo sviluppando e funzionava bene. E' stata aggiunta una classe ultimamente ma molto semplice, controllata e ricontrollata e da quel momento da l'errore di heap space. Ma questa classe non modifica in nulla il programma! Ho impostato solamente il massimo spazio, 1024MB che penso bastino. Avevo fatto delle prove con un valore maggiore ma il compilatore non era in grado di creare la VM. Vorrei comunque ringraziare tutti per l'aiuto! ![]() Appena possibile metterò i risultati di VisualVM.
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
Allora, non ho avuto bene il tempo di capire come usare visualVM, però sono riuscito a collegarlo ad eclipse e ad analizzare la memoria mentre facevo girare il programma. Il grafico dell'heap space mi segna come dimensione massima 66MB e il problema arriva quando il programma calcola i dati immessi, dove sfioro i 600-700MB e poi si attesta sui 500, ovviamente sforando il tetto dei 66. Quindi mi sorge il dubbio che non sono riuscito a impostare la massima dimensione dell'heap space, eppure ho seguito le guide... Qualcuno potrebbe spiegarmi cosa fare?
![]()
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
per me più che un errore sull'heap è un errore sulla gestione dei dati.
cmq per cambiarlo in eclipse io modificavo i file: eclipse.ini: la memoria per il VM in esecuzione Eclipse impostazione jre: la memoria per eseguire programmi Java da Eclipse catalina.sh: la memoria per il server Tomcat controllati bene la gestione dei dati...
__________________
My gaming placement |
![]() |
![]() |
![]() |
#12 | |
Member
Iscritto dal: May 2011
Città: Roma
Messaggi: 171
|
Quote:
![]()
__________________
Case: Aerocool Rs-9; Mobo: Asrock P67 Extreme 4; CPU: i5 2500k; Dissi: CM Hyper 212 plus; Ram: Corsair Vengeance 2x4GB; PSU: Corsair TX750M; VGA: Gigabyte GTX560Ti OC; HD: Crucial M4 64GB + WD Caviar Black 500GB Ultima modifica di AeM : 17-07-2011 alle 09:30. Motivo: ho cancellato una parentesi del quote |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:07.