On Fri, 21 Sep 2007 03:54:04 +0300
Vali Dragnuta wrote:

> In primul rind, in functie de aplicatie,512M  s-ar putea sa fie prea
> putin.Da-i pentru putin timp 1024...1536 si vezi daca face la fel. In
> al doilea rind, s-ar putea sa ai si o problema de compatibilitate
> intre tomcat 5.5 si jdk 1.6 (ia incearca cu jdk1.5 - face la fel ? )
> 
> Altfel, desigur o aplicatie prost scrisa poate sa iti manince
> procesorul pe orice platforma -  inclusiv php.
> 
> Zici de crapat,care este exact eroarea cu care crapa ? Crapa jvm-ul cu
> totul sau crapa tomcatul din jvm cu vreo exceptie ? Uita-te si in
> loguri si vezi ce/cum.Permgen e de obicei legata de lipsa de memorie
> - ocazie cu care repet : 512m e posibil sa fie prea putin pentru 1.6
> + tomcat + aplicatia ta. 
> Aditional, daca nu folositi chestii specifice 1.6 cred ca pe tomcat
> puteti merge bine merci cu 1.5
> 


 Am fost un pic neclar in mail initial, incerc sa clarific acum. 

1.
Daca nu setam parametri -Xmx512m -XX:MaxPermSize=256m (adica
lasam setarile default din catalina.sh) atunci se intampla urmatorul
lucru: programatorii primeau permgen in aplicatiile lor(eu nu eram
acolo deci nu l-am vazut, iar ei nu au dat printscreen sau copy/paste).
Pe server se vedea procesul java care rula tomcat ca avea 1G ram ocupat
(atat isi aloca el maxim cu setari default). Daca dadeam service tomcat5
stop procesul java ramanea pornit si nu il puteam opri decat cu kill -9.

2. Dupa ce am setat -Xmx512m -XX:MaxPermSize=256m lucrurile au mers mai
bine , dar mai devreme sau mai tarziu tot incep sa se planga ca nu le
merge cum trebuie. Daca intru pe server vad ca procesul java ocupa
100% din proc, are memorie alocata 512, DAR aplicatiile web
functioneaza inca. Dovada ca pot accesa tomcat manager care la urma
urmei tot o aplicatie web este. Toate informatiile care le-am dat eu
ieri, adica paste din tomcat manager, paste din show process list de pe
server mysql erau luate la ORE BUNE DUPA PROGRAM de lucru. Deci cand
programatorii plecasera acasa eu am vazut pe server ca exista un
process java din aplicatia lor (cu numele intranet) care rula de ore
bune cu 100%cpu, iar la baza de date erau deschise conexiuni care nu
faceau nimic (sleep). 
Eu am suspectat o aplicatie scrisa eronat care nu elibereaza resursele
(deschide conexiuni la baza de date si nu le mai inchide, ruleaza
bucle , etc) 

In logul cataline e o chestie care revine obsesiv si care din ce am
citit pe net este dovada de eroare in aplicatie (desi nu bag mana in
foc aici pentru ca asa cum am zis nu am nici o tangenta cu programarea
in java)


Dau paste la eroare, care practic imi apare de fiecare data cand
programatorii lucreaza la aplicatiile lor. 


Sep 20, 2007 6:17:11 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  
Could not load java.net.BindException.  The eventual following stack trace is 
caused by an error thro
wn for debugging purposes as well as to attempt to terminate the thread which 
caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1248)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at 
com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:155)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2652)
        at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1345)
        at com.mysql.jdbc.Connection.realClose(Connection.java:4784)
        at com.mysql.jdbc.Connection.cleanup(Connection.java:2040)
        at com.mysql.jdbc.Connection.finalize(Connection.java:3296)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
Sep 20, 2007 6:17:11 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  
Could not load com.mysql.jdbc.Messages.  The eventual following stack trace is 
caused by an error thr
own for debugging purposes as well as to attempt to terminate the thread which 
caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1248)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at 
com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:174)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2652)
        at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1345)
        at com.mysql.jdbc.Connection.realClose(Connection.java:4784)
        at com.mysql.jdbc.Connection.cleanup(Connection.java:2040)
        at com.mysql.jdbc.Connection.finalize(Connection.java:3296)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)



Si inca o chestie foarte importanta. Cred ca si modul de lucru al
programatorilor e un pic defectuos: Tomcat+eclipse+samba. Practic
setup-ul care l-am mostenit este de felul urmator: Directorul  tomcat 
 este share-uit prin samba, iar programatorii isi pun proiectele in
subdir webapps . Ei lucreaza cu eclipse direct pe share de
samaba (ei, adica =>2). Eclipse cand se instaleaza pune si un tomcat la
pe windows, dar ei il seteaza sa lucreaza cu tomcat de pe server.
Acum eu am vaga impresie ca asta  nu e o metoda tocmai ca la carte.
Adica metoda asta cu samba si lucrul la gramada pe proiect mi se pare o
invitatie la probleme. Poate imi recomanda cineva o solutie. Mai exact
as vrea sa stiu care are trebui sa fie enviroment corect pentru
tomcat+eclipse+mai multi programatori.

Multumesc.

_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui