Newsgroup: it.comp.java
Titolo: java heap size...ODDDDDDDDIIIIOOOOOOOO!!!

Salve a tutti,
chi vi scrive è una persona in questo momento DISPERATA!!!!!
Non so se vi è capitato mai di realizzare un'applicazione in
jsf,completarla e durante l'uso accorgersi che quando fai un'upload di
un file un pò più grande hai questo errore:
javax.servlet.ServletException: #{myBean.carica}:
javax.faces.el.EvaluationException: java.lang.OutOfMemoryError: Java
heap space
Premetto che sono un principiante,che è la prima volta che mi
capita,che uso Eclipse ,Exadel Studio Pro 3.5.1 e Tomcat Server 5.0
incluso.
Ho letto su tutti i forum del mondo e non trovo una soluzione
funzionale,vuoi per mancanza di chiarezza,vuoi per mia
inesperienza.(inoltre ognuno propone mille metodi diversi)
Ci sarebbe qualcuno disposto ad aiutarmi in questo problema che a me
sembra insormontabile?
I miei passi:
da un sito ho letto di fare questa modifica in
eclipse.ini
-vmargs -Xms128m -Xmx512m -XX:MaxPermSize=128m
-Dcom.sun.management.jmxremote
l'ho fatta ma niente
ho provato dalla cartella di eclipse a fare
java -Xms128m -Xmx256m Startup.jar
ma ho Exception in thread "main" java.lang.NoClassDefFoundError:
Startup/jar
che devo fare?
Il mio programma legge un file txt di circa 10MB, lo codifica in un
array di byte secondo un mio formato interno e in un secondo momento
dovrebbe inviarlo in un blob di un db mysql.
Cosa posso fare?
Sono disperato e nelle vostre mani....se avete consigli cercate di
illustrarmi i passi...sono un principiante...
Grazie mille a tutti

<cut>
ho provato dalla cartella di eclipse a fare
java -Xms128m -Xmx256m Startup.jar
ma ho Exception in thread "main" java.lang.NoClassDefFoundError:
Startup/jar
DEVi riuscire a passare questi parametri -Xms128m -Xmx256m  al tomcat, in
modo che abbia piu memoria a disposione...
ovviamente DEVI avere sulla macchina che usi piu di 256 MB di ram
non so dirti niente di piu specifico perche non uso eclipse, ma immagino che
da qualche parte, dove si configura l'avvio di tomcat da dentro eclipse
(immagino che sia la tua situazione)  dovresti poter specificare i parametri
di avvio (e li metti -Xms128m -Xmx256m)
ciao

 ovviamente DEVI avere sulla macchina che usi piu di 256 MB di ram
Aggiungo che ovviamente questi parametri andranno a modificare anche a
configurazione del server di produzione sul quale girerà
l'applicazione. Sei sicuro di poter apportare queste modifiche anche
alla macchina su cui farai il deploy? Occhio che i sistemisti sono
gelosi dei propri server... :-P

 ovviamente DEVI avere sulla macchina che usi piu di 256 MB di ram
Questo non è necessariamente vero... basta la memoria virtuale, non è 
necessario che sia tutta RAM. Certo, se ne fai un discorso di 
efficienza, ovviamente è meglio evitare che l'applicazione "frulli" il 
disco ogni volta che gli serve dello spazio
bye
Giuseppe

>ovviamente DEVI avere sulla macchina che usi piu di 256 MB di ram
Questo non è necessariamente vero... basta la memoria virtuale, non è 
necessario che sia tutta RAM. Certo, se ne fai un discorso di 
efficienza, ovviamente è meglio evitare che l'applicazione "frulli" il 
disco ogni volta che gli serve dello spazio
bye
DKano

ragazzi ho modificato il file service.bat contenuto in tomcato/bin
ma continua a non funzionare?
Esiste un comando per sapere se la mia modifica è andata a buon fine?
In exadel non riesco a vedere l'heap size quant'è...


Non so se esiste qualche comando specifico di tomcat (immagino di si) ma 
puoi farti una jsp stupida che scriva i valori di memoria da 
Runtime.getRuntime().totalMemory() e gli altri due o 3 metodi di Runtime 
che riguardano le dimensioni della memoria
bye
DKano