-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Vidyadhar,

On 4/16/13 1:14 PM, Techienote com wrote:
> With default setting we were getting frequent OOM errors. After
> analyzing the heap dump we found
> org.apache.poi.hssf.usermodel.HSSFSheet is accumulating more heap
> memory. As per the application development this is the normal
> behavior and have suggested to increase the maximum heap size to 
> 2048MB

So, you keep lots of spreadsheets in memory for some reason? I can't
imagine that loading a Microsoft Excel document into memory and
keeping it in what POI calls "horrible spreadsheet format" is the best
way to keep that information around. I suppose only /you/ know you
requirements.

Just how many spreadsheets do you need to keep in memory?

> After increasing the max heap size we were seeing some large GC
> pauses for the same we tried to change the JVM policy to CMS and
> added following parameters
> 
> -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
> -XX:+CMSParallelRemarkEnabled

Did you enable verbose GC logging before/after you enabled those
options? Did it help anything? Do you have any idea *why* your GCs
were taking so long, or did you just Google for "java gc is taking a
long time" and enable those options because they were "recommended" by
someone?

> Since then the long pauses reduced from 112 seconds to 90 seconds.

Without seeing your data, I would guess that it's only a coincidence
that your pauses have decreased in duration: you have likely not had
any improvement by changing the GC configuration.

> Also we have seeing regular permanent generation concurrent mark 
> failure which got reduced after changing NewSize to 512MB.

Well, the NewSize shouldn't have any bearing on anything happening in
PermGen, other than maybe allowing OutOfMemoryErrors to occur if you
overfill PermGen. But that's not happening, here.

> -Dsun.rmi.dgc.client.gcInterval=3600000 
> -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+DisableExplicitGC

If I understand correctly (and I don't claim to be a GC ergonomics
expert), those options are mutually-exclusive. Disabling explicit GC
should disable the RMI's use of .. explicit garbage-collection. So, if
you really are using RMI, disabling explicit garbage-collection can
ruin everything. [See
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html#1.1.Other%20Considerations|outline].

Have you tried with a supported version of a Java VM?

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJRbalsAAoJEBzwKT+lPKRY1/kP/isK8UjCkC3PB1WCgSp9aDNI
iOomoVHiXlL/0m4YTp/mxveB+8rs5edxrJPSeWJkpJAEs/4MU3MXVflapC2a90ij
FhcXd0QvR1Cf0KE97wWiwXWRTtn60wOErutvOqZ9/HnaVwWRBZhczlJ+ZEwQ9ms1
vcFQMFsoOVFpFQT1rh4T+1ruRO+qorT1ybl7gkIPXNb4mkdgqrxkCiSwI2eB0w/p
b2Ig1ugx9wNB9petyfhVpOffl7jbl/18KdJXj5N1hKQ2tAfzOCSf6nTNeFluG+zd
J9/Wa6nOePgGf8+OzeIbvHS96u4SBOYt3NR1d/Vz1eIk1dvAxkp5aiBTvtv3l+Js
/TogUoHSjXILfH+zzutvoucHCFcAOtDD4O658z/BcfROnRBpz6TYoEhtGob3d+Zp
TFDM3N3WUt+566pKwNQtJfrOGJjq5IM7iBZKeofDiZGmJ1FiL89gdCWuHNpzvCX8
sV8xuwBVEWXQwz+VuLW2FB9PaTSOUBqOMBjbt3sjjuY7Uw6lMEszDhXP7nAhlYEj
EsF9uXoWZBWMJZF+1p9KhjD3qNBhTKgB21TSzq59Mjw7FvhZE5pKDOqhYP/uyxi8
nigqrjKJbKATBztpOiR8bjvb+LSJy0hvf6bNhvAZY6S4qRU6K2kWkFfPz3v6QIiz
GmxHvSCPXNHhx+X7S+3t
=YmSW
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to