<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: The MaxTenuringThreshold for a Hotspot JVM</title>
	<atom:link href="http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/feed/" rel="self" type="application/rss+xml" />
	<link>http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/</link>
	<description>Been there, Done that, Wanna Remember!</description>
	<lastBuildDate>Sat, 05 May 2012 20:33:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Deepak Devadathan</title>
		<link>http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/comment-page-1/#comment-410</link>
		<dc:creator>Deepak Devadathan</dc:creator>
		<pubDate>Thu, 08 Jul 2010 12:53:23 +0000</pubDate>
		<guid isPermaLink="false">http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/#comment-410</guid>
		<description>i have tried -XX:+UseParallelGC in the past
MEM_ARGS=-Xms1536m -Xmx1536m -Xss924k -Xmn512m -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:MaxPermSize=256m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelGC

But what was seen that the heap utilization was reaching up close to 90%
I tried the defualt..i found that my perm gen isnt much used...so took some out it and gave it to xmx and xmn.

MEM_ARGS=&quot;-Xms1408m -Xmx1408m -Xss924k -Xmn588m -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:+UseGetTimeOfDay -XX:MaxPermSize=256m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps&quot;

MEM_ARGS=&quot;-Xms1280m -Xmx1280m -Xss924k -Xmn460m -XX:SurvivorRatio=4 -XX:PermSize=512m -XX:MaxPermSize=512m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps&quot;

In both cases whats observerd is that eventually the heap is getting utilized closed to 85-90% ( in around 10 days )
Also the scavenge collection stops in 5 days. After which theres only tenured collection.

What i feel is that after 5 days my young generation is full of live objects may be the referenced one from the tenured.

After 5th day there only tenured collectioin with high pause times (15 sec avg_) ..but nothing seems to be affected by the pause times.

Contrary to your blog, i was thinking in a different manner , though i could be wrong..so correct me if i am. I was thinking..why not keep the MTT=0 , that will ensure that no live objects are there in the young , after young collection. Tenured regions would fill up quickly. But my scavenge collection should not be stopping after 5 days. I could select a very high surviour ratio (may be 128), select a relatively smaller young generation, may be 400mb and give the rest to the tenured regions..havent tried this...but would like to hear your views</description>
		<content:encoded><![CDATA[<p>i have tried -XX:+UseParallelGC in the past<br />
MEM_ARGS=-Xms1536m -Xmx1536m -Xss924k -Xmn512m -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:MaxPermSize=256m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelGC</p>
<p>But what was seen that the heap utilization was reaching up close to 90%<br />
I tried the defualt..i found that my perm gen isnt much used&#8230;so took some out it and gave it to xmx and xmn.</p>
<p>MEM_ARGS=&#8221;-Xms1408m -Xmx1408m -Xss924k -Xmn588m -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:+UseGetTimeOfDay -XX:MaxPermSize=256m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps&#8221;</p>
<p>MEM_ARGS=&#8221;-Xms1280m -Xmx1280m -Xss924k -Xmn460m -XX:SurvivorRatio=4 -XX:PermSize=512m -XX:MaxPermSize=512m -Xmpas:on -XX:+PrintGCDetails -XX:+PrintGCTimeStamps&#8221;</p>
<p>In both cases whats observerd is that eventually the heap is getting utilized closed to 85-90% ( in around 10 days )<br />
Also the scavenge collection stops in 5 days. After which theres only tenured collection.</p>
<p>What i feel is that after 5 days my young generation is full of live objects may be the referenced one from the tenured.</p>
<p>After 5th day there only tenured collectioin with high pause times (15 sec avg_) ..but nothing seems to be affected by the pause times.</p>
<p>Contrary to your blog, i was thinking in a different manner , though i could be wrong..so correct me if i am. I was thinking..why not keep the MTT=0 , that will ensure that no live objects are there in the young , after young collection. Tenured regions would fill up quickly. But my scavenge collection should not be stopping after 5 days. I could select a very high surviour ratio (may be 128), select a relatively smaller young generation, may be 400mb and give the rest to the tenured regions..havent tried this&#8230;but would like to hear your views</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mrkips</title>
		<link>http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/comment-page-1/#comment-409</link>
		<dc:creator>mrkips</dc:creator>
		<pubDate>Thu, 08 Jul 2010 03:10:58 +0000</pubDate>
		<guid isPermaLink="false">http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/#comment-409</guid>
		<description>Hi Deepak

1) and 2) are not mutually exclusive. In your case, if there are no longer any young generation collections but many tenured collections, it implies, your young generation size may need to be increased. Now, if you increase YG size, opt for parallel scavenge in YG to ensure low pause-time. Before deciding how to tune your JVM, you must decide on what&#039;s best for your application - High throughput or low pause-time. For example, if you have an application that requires high throughput but can tolerate occasional moderate to high pause times for GC, then parallel collectors would help. On the other hand, if your application cannot tolerate even moderate pause times (eg. &gt; 3 secs for a gaming application), then CMS or iCMS will help. CMS will definitely consume more CPU cycles than the default GC because CMS uses another thread to provide that &quot;mostly concurrent&quot; mechanism. JRE 7 chucks out CMS in favour of the G1 collector. I haven&#039;t used G1 yet.

Regards
Gavin</description>
		<content:encoded><![CDATA[<p>Hi Deepak</p>
<p>1) and 2) are not mutually exclusive. In your case, if there are no longer any young generation collections but many tenured collections, it implies, your young generation size may need to be increased. Now, if you increase YG size, opt for parallel scavenge in YG to ensure low pause-time. Before deciding how to tune your JVM, you must decide on what&#8217;s best for your application &#8211; High throughput or low pause-time. For example, if you have an application that requires high throughput but can tolerate occasional moderate to high pause times for GC, then parallel collectors would help. On the other hand, if your application cannot tolerate even moderate pause times (eg. &gt; 3 secs for a gaming application), then CMS or iCMS will help. CMS will definitely consume more CPU cycles than the default GC because CMS uses another thread to provide that &#8220;mostly concurrent&#8221; mechanism. JRE 7 chucks out CMS in favour of the G1 collector. I haven&#8217;t used G1 yet.</p>
<p>Regards<br />
Gavin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deepak Devadathan</title>
		<link>http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/comment-page-1/#comment-407</link>
		<dc:creator>Deepak Devadathan</dc:creator>
		<pubDate>Tue, 06 Jul 2010 22:03:08 +0000</pubDate>
		<guid isPermaLink="false">http://cybergav.in/2009/12/12/the-maxtenuringthreshold-for-a-hotspot-jvm/#comment-407</guid>
		<description>what should be considered while tuning jvm.
1) should it be such that heap utilization does reach 80 -90 % of max heap
OR
2) throughput should be high.

I have seen that in my application, scavenge collection ( young collection ) stops after 4-5 days of starting server. After that tenured collections keep occuring which high pause time. 

So neither heap is recollect and nor the pause times is good. Using CMS improves throughput but at the price of higher cpu utilization</description>
		<content:encoded><![CDATA[<p>what should be considered while tuning jvm.<br />
1) should it be such that heap utilization does reach 80 -90 % of max heap<br />
OR<br />
2) throughput should be high.</p>
<p>I have seen that in my application, scavenge collection ( young collection ) stops after 4-5 days of starting server. After that tenured collections keep occuring which high pause time. </p>
<p>So neither heap is recollect and nor the pause times is good. Using CMS improves throughput but at the price of higher cpu utilization</p>
]]></content:encoded>
	</item>
</channel>
</rss>

