2010-04-27 12 views
21

Używam Tomcat na małym VPS (256 MB/512 MB) i chcę jawnie ograniczyć ilość pamięci używanej przez Tomcat.Tomcat - Jak ograniczyć maksymalną pamięć Tomcat będzie używał

Rozumiem, że mogę to skonfigurować w jakiś sposób, przekazując maksymalne sterty Java i początkowe wielkości sterty;

-Xmx256m 
-Xms128m 

Ale nie mogę znaleźć, gdzie umieścić to w konfiguracji Tomcat 6 na Ubuntu.

Dzięki z góry,

Gav

Odpowiedz

15

Set JAVA_OPTS w swoim skrypcie,

export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx1024M -XX:MaxPermSize=512m" 
+0

Co robi '-Djava.awt.headless = true'? – danben

+0

Zapobiega wyjątkom jest kilka starszych aplikacji renderujących grafikę http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ – stacker

+1

And -server optymalizuje działanie na serwerze? – gav

1

można dodać do zmiennej JAVA_OPTS w skrypcie bin/catalina.sh startowego.

JAVA_OPTS="-Xms128m -Xmx256m"

+4

Jeśli to zrobisz, ustawienia zostaną utracone po następnym zaktualizowaniu pakietu Tomcat. – youri

+0

@youri jest poprawna. Z tego powodu lepiej przechowywać samodzielne kopie wstępnie skonfigurowanych serwerów tomcat vanilla, które po prostu klonujesz dla każdego z projektów –

+1

Komentarz wewnątrz "bin/catalina.sh" zaleca przechowywanie zmian zmiennych środowiskowych w " $ CATALINA_HOME/bin/setenv.sh ". – sunil

24

Na Ubuntu poprawny sposób, aby dostosować zmienne Tomcat jest poprzez edycję pliku

/etc/default/tomcat5.5 

(lub /etc/default/tomcat6 jeśli ciebie mieć nowszą wersję)

Wewnątrz tego pliku, ustaw zmienną JAVA_OPTS jak opisano w innych odpowiedzi tutaj, np

JAVA_OPTS="-Xmx512m"

ustawić maksymalną ilość pamięci 512 MB.

+2

tomcat7 jest taki sam. – Adam