Newsgroup: it.comp.java
Titolo: errore java.lang.outofmemory e tomcat 5

Salve,
ho un grosso problema con Tomcat 5.0.18 su server linux red hat.Su questo
server girano circa 20 web application,composte tutte da applet/servlet e
jsp.da un periodo a questa parte(in cui il traffico e le connessioni
simultanee al server sono sicuramente aumentate) spessissimo mi viene fuori
questo errore
"GRAVE: Javac exception
Compile failed; see the compiler error output for details."
e subito dopo:
"The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError"
dopodichè se non riavvio tomcat non accedo più a nessuna web application,nè
al manager di tomcat.
La versione di jdk è la 1.4.2_03.Qualcuno ha già avuto un problema simile?
Grazie mille in anticipo a chi mi risponderà.

 ha scritto nel messaggio
news:4268eefd$1...@x-privat.org...

aumenta la memoria assegnata alla jvm con cui parte tomcat per eliminare i
problemi relativi all'aumentare delle connessioni, del carico di lavoro in
sostanza.
cmq hai 20 web app (le applet sono ininfluenti) è possibile inoltre che una
o piu' di queste siano scritte male, dovresti cercare tramite il pannello di
capire quale carichi troppo il server e sprechi risorse....ci sono un sacco
di motivazioni per cui si mandi in out of memory la jvm.......potresti
abbassare la soglia del innevitabile OOM per carico di lavoro.....

Aggiungo a quello che ha detto il buon Reny: aggiorna la JVM, ci sono alcune
fix tra la _03 e la _08 dedicate al memory leak. Questo, ovviamente, oltre
ad aumentare la memoria disponibilie per la jvm del Tomcat in uso e a
controllare che le applicazioni non siano scritte a $fallo_di_canide.
Aggiungo inoltre che 20 webapp per un tomcat incominciano a essere tantine.
---
Francesco Galli / Cinghiale Mannaro
Personal: 
http://cinghialemannaro.splinder.com
TMS project: 
http://tms.inera.it


scusa la mia ignoranza,cosa sarebbe la soglia OOM?ma è possibile aaumentare
la memoria della jvm?perchè vedo che nei momenti di maggior lavoro la
memoria libera arriva anche a 1-2 Mb,è per questo che mi da out of memory
secondo te?

 ha scritto nel messaggio
news:4268f...@x-privat.org...

java -X e ottieni un help tra cui
-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
OOM = out of memory.....scusa ....pensavo che era intuibile.........cmq in
questo contesto intendevo che con un carico di lavoro alto ad un certo punto
sfonderai inevitabilemte la memoria della jvm, il livello di sfondamento è
legato al carico di lavoro ma anche a come sono scirtte le applicazioni


Ok allora intanto provvederò ad aggiornare la JVM, e a ricontrollare tutte
le applicazioni,
ma come devo fare per aumentare la memoria disponibile per la jvm del
tomcat?

 tomcat?
   java -help
leggi Xmx e Xms, ti fai la tua brava stringhina, la setti nello script di
lancio di $micino, e sei a posto.

 ha scritto nel
messaggio news:4268f...@x-privat.org...

Scusami francesco se approfitto della tua disponibilità,allora
ho fatto come hai detto tu con java -help ed ho visto con -X
Xmx e Xms,ma non so che valore attribuirgli,ne dove mettere questa
stringa,dato che il gatto si avvia come servizio!forse nel web.xml?Il server
in questione ha 1Gb di ram,non so se può darti qualche indicazione in
più.Grazie mille davvero.

 più.Grazie mille davvero.
   Ti ho detto "nello script di avvio di tomcat". Probabilmente sara'
/etc/init.d/qualcosa sui sistemi *nix.
-- 


 ha scritto nel
messaggio news:4268f...@x-privat.org...

ok adesso provo a cercare lo script di avvio e poi ti faccio sapere.Un
'ultima domanda: i valori di default di questi due parametri quali sono?
Grazie mille

 'ultima domanda: i valori di default di questi due parametri quali sono?
A memoria non me lo ricordo, ma credo che il massimo sia 16mega come
default. Dovresti spulciare la documentazione, io la guardai taaaanto tempo
fa (ai tempi della tesi, figurati) e a memoria non lo ricordo.

 tomcat?
Dalla commandline con cui viene invocato java.
Il parametro -Xmx512M a esempio imposta il quantitativo di memoria a 512M.

 più.Grazie mille davvero.
Ciao,
senza andare a modificare gli script di Tomcat, dovrebbe essere
sufficiente definire una variabile d'ambiente chiamata CATALINA_OPTS in
cui metti tutti i parametri aggiuntivi per la JVM che esegue Tomcat.
Dovrebbe funzionare anche in Windows.
Saluti
  Lucio
-- 
Lucio Benfante
Java User Group Padova: 
http://www.jugpadova.it
Brainbench MVP for Java 1: 
http://www.brainbench.com
MyTranscript: 
http://www.brainbench.com/transcript.jsp?pid=167064

 
modifichi la riga: CATALINA_OPTS="-Djava.awt.headless=true -Xmx128M" in
/etc/init.d/tomcat
 Ciriciao
  Gio'
-- 
/*
 * Solutions for New Business - 
http://www.snb.it
 */

 /etc/init.d/tomcat
questa riga non ce l'ho sul file tomcat,e se la aggiungo non succede
niente,come se non l'avessi aggiunta. come devo fare per aggiungerla al
file?

 
prova con: export CATALINA_OPTS="-Xmx128M" all' inizio del tuo script.
