<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Twenty Square Meter &#187; tomcat</title>
	<atom:link href="http://www.twentysqm.com/tag/tomcat/feed" rel="self" type="application/rss+xml" />
	<link>http://www.twentysqm.com</link>
	<description>Ihr Ansprechpartner für innovative Ideen</description>
	<lastBuildDate>Tue, 04 Oct 2011 18:35:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Weiß Tomcat wieviel RAM Sie besitzen?</title>
		<link>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=weiss-tomcat-wieviel-ram-sie-besitzen</link>
		<comments>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:52:35 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1060</guid>
		<description><![CDATA[Ein Performanceproblem kann auftreten wenn Tomcat1 nicht weiß wieviel Arbeitsspeicher Ihr Server wirklich bereit hält. Hierzu wird man sich immer voll und ganz auf Ihre Konfigurationen verlassen und dementsprechend handeln. Wenn diese nicht gewissenhaft durchgeführt wurde, kann es unter anderem vorkommen, dass der Aufbau von sogenannten JavaServer Pages enorm verlangsamt wird. Dies ist nicht immer [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Performanceproblem kann auftreten wenn Tomcat<sup><a href="http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html#footnote_0_1060" id="identifier_0_1060" class="footnote-link footnote-identifier-link" title=" http://tomcat.apache.org/ ">1</a></sup> nicht weiß wieviel Arbeitsspeicher Ihr Server wirklich bereit hält. Hierzu wird man sich immer voll und ganz auf Ihre Konfigurationen verlassen und dementsprechend handeln. Wenn diese nicht gewissenhaft durchgeführt wurde, kann es unter anderem vorkommen, dass der Aufbau von sogenannten JavaServer Pages enorm verlangsamt wird. Dies ist nicht immer auf den Tomcat selbst oder einer ineffizienten programmiertechnischen Entwicklung zurück zu führen.</p>
<p><strong>Hinweis:<br />
Die hier beschriebene Speicherverwaltung lässt sich erst ab der Tomcat Version 5.5.15 realisieren und konzentriert sich auf die Linux-Architektur!</strong></p>
<p><span style="color: #000080;"><strong><span id="more-1060"></span></strong></span>Auch wenn Tomcat einige gewisse Schwierigkeiten mit dem Umgang von großen JavaServer Pages mit sich bringt, so hilft der Kniff des Mitteilens, wieviel Arbeitsspeicher Ihr Server besitzt. Solche Angaben werden mit Hilfe der Variable <em>CATALINA_OPT</em> realisiert, die sich optional mit starten von Tomcat einbinden lässt. Dazu ist im Vorfeld eine Datei anzupassen. Sollte diese noch nicht vorhanden sein, erstellen Sie diese bitte:</p>
<pre class="brush: plain; title: ; notranslate">$CATALINA_HOME/bin/setenv.sh</pre>
<p>Neben anderen optionalen Parametern, auf die in diesem Beitrag aber kein Bezug genommen wird, soll es im folgendem um das Setzen der Variable für die Verwaltung des Arbeitsspeichers gehen. Der Inhalt dieser Datei, wird unter Linux wie folgt befüllt:</p>
<pre class="brush: plain; title: ; notranslate">export CATALINA_OPTS=&quot;$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Xms256m -Xmx2048m -XX:MaxPermSize=512m</pre>
<p>Zunächst dient die Angabe von <em>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER</em> für die Möglichkeit der Verwaltung des Arbeitsspeicher. Diese ist hierzu auf <em>true</em> zu setzen und steht erst ab der Tomcat-Version 5.5.15 zur Verfügung. Die nachfolgenden Attribute sind wie folgt zu verstehen:</p>
<p><strong>-Xms256m</strong> (<em>Mininum des Java</em> Heap)<br />
<strong>-Xmx2048m</strong> (Maximum des Java Heap)<br />
<strong>-XX:MaxPermSize=512m </strong>(Permanent Generations Größe)</p>
<p>Die <em>Angabe von -Xmx2048m</em> verrät die Größe des RAMs. Stellen Sie diesen unter Linux <strong>zwingend</strong> auf den maximal zulässigen Arbeitsspeicher. Warum?, dies ist auf die Linux-Architektur zurück zu führen, welche den Arbeitsspeicher permanent und vollständig im Gebrauch hält. Sollte Tomcat nun nicht wissen, wieviel Arbeitsspeicher insgesamt zur Verfügung steht, wird er diesen auch nicht „beantragen”. Ist der Arbeitsspeicher zu diesem Zeitpunkt aber voll, so kann es zu merklichen Performance-Verlusten führen, da Tomcat selbst keinen freien Speicher findet. Linux bedient sich in diesem Fall des Auslagerns (SWAP). Wenn Tomcat weiß wieviel Arbeitsspeicher Sie wirklich besitzen, so wird bei Bedarf versucht, diesen auch zu allokieren. Der Linux-Kernel weiß nun das er viel zu viel Arbeitsspeicher hält und wird alte Daten Auslagern und Tomcat den RAM zusichern der gebraucht wird.</p>
<p>Mit einem Start oder Neustart von Tomcat wird die so eben angelegte, beziehungsweise angepasste Datei aufgerufen und Tomcat mit den entsprechenden Einstellungen gesetzt.</p>
<ol class="footnotes"><li id="footnote_0_1060" class="footnote"> <a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

