On 02.09.2010 07:12, takanobu watanabe wrote:
Hello Rainer,

Thanks detailed explain.
and now I use jconsole to measuring.
But when jconsole try to connect remote target host, JVM down.
Probably it is not tomcat issue,I think.

Yeah, looks like a JVM issue. If you file a bug there, provide the contents of the hotspot error file (/root/hs_err_pid1696.log) to those people.

Regards,

Rainer

I may close this issue.
Regard,

--catalina.out--
...
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (os_linux_zero.cpp:157), pid=1696, tid=1735849104
#  Error: caught unhandled signal 11
#
# Java VM: OpenJDK Core VM (1.6.0_0-b11 interpreted mode linux-arm)
# An error report file with more information is saved as:
# /root/hs_err_pid1696.log
#
# If you would like to submit a bug report, please visit:
#   http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
---

On 31 August 2010 20:57, Rainer Jung<rainer.j...@kippdata.de>  wrote:
On 31.08.2010 13:14, takanobu watanabe wrote:

Thank you very much Rainer.

Tomcat itself doesn't need much memory and you should be able to run it
with less than 64MB Heap (plus Perm)

I recognized 64MB>=  Am +  Bm from your advice.
Is my recognized correct ?
---example catalina.sh---
-XX:NewSize=Am -XX:MaxNewSize=Am
  -XX:PermSize=Bm -XX:MaxPermSize=Bm"

I don't actually understand the question, but here's the terminology (I hope
the picture isn't disturbed by line breaks):

<---------------------- Heap -------------------><- Perm ->
<----------------- New ----------------><- Old ->
<- Eden -><- Survivor1 -><- Survivor2 ->

Sometimes New is also defined as Eden plus one of the two survivors,
especially in the verbose GC output.

The two survivors are also called "From Space" and "To Space", the roles
change during each GC run in New.

Xms, Xmx: minimum and maximum heap size
XX:NewSize, XX:MaxNewSize: minimum and maximum size of New
XX:PermSize and XX:MaxPermSize: minimum and maximum size of Perm

Sizes of Survivor spaces (each one) are determined by

Size of Survivor = Size of New / (SurvivorRatio + 2)

So if SurvivorRatio is some number N, then the Ratios are

Eden:Survivor1:Survivor2 = N:1:1

and New = (N+2) * One Survivor

Regards,

Rainer

On 31 August 2010 19:00, Rainer Jung<rainer.j...@kippdata.de>    wrote:

On 31.08.2010 10:34, takanobu watanabe wrote:

Hello,

What is default value of CATALINA_OPTS at apache-tomcat-6.0.29 ?
It means No configure catalina.sh as same as value of CATALINA_OPTS
just expand tomcat.

Because I try to run tomcat lean physical memory condition(128Mb only
with armv5).
When nothing configure to catalina.sh(default),Tomcat works well.
But when I configure below,looks like always FullGC running and could
not access WEB service.
---
CATALINA_OPTS=" -verbose:gc -XX:+PrintGCTimeStamps -Xms64m -Xmx64m
-XX:NewSize=32m -XX:MaxNewSize=32m
-XX:SurvivorRatio=2 -XX:PermSize=16m -XX:MaxPermSize=16m"
---
If anyone has idea or suggest of run tomcat on lean physical memory
condition, I would like to know.

If you don't add explicit memory options, the default memory sizes of
your
JVM are used. Those might depend on the exact jvm version and also on the
type of system you run it on (total memory, CPUs).

The easiest way to find out the sizes for your jvm are running it without
explicit settings and then measuring it. Measuring can be done with tools
like jstat, jconsole or jvisualvm, or you can add a few verbose gc flags
to
print out the sizes of the different memory regions during each run of
the
GC, e.g.

-verbose:gc -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps

Note that the default settings will allow some of the regions to grow and
shrink, so you need to make observations for a longer time to find out
the
values which are effective most of the time.

I expect your above settings might not leave enough room in the Old
Generation (aka Tenured), because your New Generation is somwhat large
relative to the Old Gen. Tomcat itself doesn't need much memory and you
should be able to run it with less than 64MB Heap (plus Perm), but what
you
need in the end depends on the application inside (and the concurrency
induced by the load). I never experimented to find a minimum value
though.

Regards,

Rainer

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

Reply via email to