Thanks for the replies, I made some sampling on VisualVM with -XX:+UseG1GC -XX:+UseStringDeduplication and Java 8 default.
Results were pretty much the same, so I kept the Java 8 default. 2016-07-28 13:29 GMT-03:00 Howard W. Smith, Jr. <smithh032...@gmail.com>: > My responses below/inline, > > On Thu, Jul 28, 2016 at 10:23 AM, Felipe Jaekel <fkjae...@gmail.com> > wrote: > > > I used to run TomEE 1.7.2 with java 7 and the following config: > > -Xms1G > > -Xmx3G (server has 4G) > > -XX:MaxPermSize=1G > > -XX:+UseTLAB > > -XX:+UseConcMarkSweepGC > > -XX:+CMSIncrementalMode > > -XX:+CMSClassUnloadingEnabled > > > > I used the options similar to these above for years. With these settings > (and throughout the years), I have seen memory required-and-used between > 500M and 4G, depending on certain database queries/operations executed > during runtime. > > > > > > I upgraded to Java 8 to use TomEE 7.0.x, so I decided to try different > > settings: > > -Xmx3G (server has 4G) > > -XX:+UseG1GC > > -XX:+UseStringDeduplication > > > > Recently, I changed to these options above after seeing others speak about > this in ActiveMQ (or tomcat) user mail list, and I am impressed with what I > see whenever I check memory at runtime via Java Visual VM (via JMX). Now, > quite consistently, I see memory required-and-used <= 500M (sometimes 700M, > but not really over 700M). >