2011-11-09, 09:39
  #1
Medlem
Hej!
Jag r inte helt hundra p att jag postar den hr trden p rtt stlle men d det rr sig om en Java-applikation s chansar jag hr.

Iaf, jag blir heeeeelt tokig p mitt problem!
Det r som s att p mitt jobb s har bli b la en Ubuntu-burk dr tomcat6 r installerad. P den burken s finns det tv stycken webb-applikationer (war-filer).
Jag fick i uppdrag att utveckla tv nya webbapplikationer. Utvecklade applikationerna i programmet IntelliJ, med Springs ramverk och med Maven. Nr applikationerna var klara s skapade jag war-filerna (Jetty:run-war) och sedan frde jag ver dem till en Windows burk som ligger p det interna ntverket (C:\Program\Apache Software Foundation\Tomcat 6.0\webapps).
Det funkade toppen, inga problem alls efter ngra krningar.

Nu till problemet. Den hr Ubuntu-burken som jag pratade om innan, ligger p DMZ (?), vilket gr att externa personer kan komma t applikationerna. Jag frde ver war-filerna till /var/lib/tomcat6/webapps och brjade testkra applikationerna. Det var nu som problemet brjade.
Efter ett tag nr jag gjorde ett request s fick jag fljande felmeddelande:
HTML-kod:
java.lang.OutOfMemoryError: PermGen space error

Frstod inte ett skvatt och brjade sklart googla p det. Hittade b la d denna sida som frklarade hur man skulle kunna kring problemet:
HTML-kod:
http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/

Sjlvklart s fanns inte catalina.sh p den platsen som sidan sa att den skulle finnas p. Fick kra ett /find kommando och d visade det sig att min catalina.sh lg under:
HTML-kod:
/usr/share/tomcat6/bin

Jag ppnar upp filen och lgger till dessa rader som man skulle gra enligt sidan:
HTML-kod:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

Startar om Tomcat och brjar testkra applikationerna igen. Fungerar bra ett tag tills BAAAAM! Samma felmeddelande igen :/
Jag testade att kopiera catalina.sh (d den kanske lg p fel stlle) och frde ver den till /var/lib/tomcat6/conf men det gick nd inget vidare.

Jag har nu frskt att "minska" p mina program och ta bort ondig kod, men det hjlper nd inte.
Varfr gr det bra p Windows-burken (interna ntet) men mindre bra p Ubuntu-burken (externa)?
Kan ven sga det att applikationerna som lg innan p Ubuntu-burken, har det inte varit ngt problem med.

P nt stt knns det som att nr Ubuntu-bruken fr mer war-filer s ballar den ur totalt. Fr ibland hnder det att nr man gr ett request mot min applikation, s knns det som att hela Tomcat "hnger sig" och jag mste starta om den (d ven de tidigare applikationerna "gr" ner).
Kan ven tillgga att mina appar ligger p ca ~14 MB, dvs de r inte s stora.

Blev ett lngt inlgg men vore sjukt tacksam fr svar! Jag blir helt skogstokig p detta problem :/
Citera
2011-11-16, 20:56
  #2
Medlem
Ett tips r att kra profilering p din kod fr att se vad som tar minne: Se http://blog.mattwoodward.com/monitor...-java-visualvm
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in