André Warnier wrote:
> Hi again.
> 
> Now that I have (with your help) established some basic facts, I have a
> practical case for analysis.
> 
> Before I get into details (because this is quite long), I'd like to
> explain the reason why I'm asking this.
> We have been testing a Tomcat application from a vendor.  It works very
> nicely when it is started on a test system, and does what we expect.
> But the load it imposes on our test Tomcat at startup, makes me a bit
> insecure about deploying it to a production server, before I really
> understand what is happening.
> Not being a Java or Tomcat expert, I'm just trying to collect some
> pointers, to see if I can do something about what I am observing, or if
> that's it and we just have to live with it.
> The main thing is, I don't even know where to start, so I would
> appreciate some help, even if very basic.
> There is quite a bit of data below.
> 
> We have an old clunker PC (Pentium II, 512 Mb Ram, average ATA disks),
> which we use to test some applications (not only Java/Tomcat).
> Its a Linux system, and runs this Tomcat :
> Using CATALINA_BASE:   /usr/share/tomcat5.5
> Using CATALINA_HOME:   /usr/share/tomcat5.5
> Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp
> Using JRE_HOME:       /usr/lib/jvm/java-1.5.0-sun
> Server version: Apache Tomcat/5.5
> Server built:   Jan 20 2008 12:32:00
> Server number:  5.5.20.0
> OS Name:        Linux
> OS Version:     2.6.18-6-686
> Architecture:   i386
> JVM Version:    1.5.0_14-b03
> JVM Vendor:     Sun Microsystems Inc.
> 
> The full command used to start Tomcat is :
> /usr/lib/jvm/java-1.5.0-sun/bin/java
> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties
> -Djava.awt.headless=true -Xmx256M -server
> -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -classpath
> :/usr/lib/jvm/java-1.5.0-sun/jre//lib/jcert.jar:/usr/lib/jvm/java-1.5.0-sun/jre//lib/jnet.jar:/usr/lib/jvm/java-1.5.0-sun/jre//lib/jsse.jar:/usr/share/tomcat5.5/bin/bootstrap.jar:/usr/share/tomcat5.5/bin/commons-logging-api.jar
> 
> -Djava.security.manager
> -Djava.security.policy==/var/lib/tomcat5.5/conf/catalina.policy
> -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5
> -Djava.io.tmpdir=/var/lib/tomcat5.5/temp
> org.apache.catalina.startup.Bootstrap start
> 
> Under Tomcat there, there is an application which we get from outside
> and of which we do not have the source. This application is loaded at
> Tomcat startup.
> 
> When Tomcat has been running for a while, but the system and Tomcat are
> basically idle, a "top" with the option "n" (sort by memory usage),
> shows this (first few lines only) :
> 
> top - 10:15:54 up 162 days, 16:25,  2 users,  load average: 0.19, 0.09,
> 0.03
> Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
> Cpu(s):  2.0%us,  0.3%sy,  0.0%ni, 97.7%id,  0.0%wa,  0.0%hi,  0.0%si,
> 0.0%st
> Mem:    516920k total,   509716k used,     7204k free,    71992k buffers
> Swap:  1297564k total,   131340k used,  1166224k free,    95148k cached
> 
>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>  6226 tomcat55  25   0  506m 191m  10m S  0.0 37.9 140:26.15 java
>  5937 root      22   0  267m  26m 8056 S  0.0  5.2  25:26.88 java
> 24608 root      23   0  260m  15m 9332 S  0.0  3.1   0:02.08 java
> 24638 root      15   0 29564  15m 5984 S  0.0  3.0   0:02.16 apache2
> 24627 efs       15   0 16964  12m 1968 S  0.0  2.6   0:06.68 MiraLoader.pl
> 24662 www-data  15   0 29564  10m 1632 S  0.0  2.2   0:02.91 apache2
> 24668 www-data  16   0 29564  10m 1624 S  0.0  2.2   0:02.50 apache2
> 24663 www-data  15   0 29564  10m 1620 S  0.0  2.2   0:02.78 apache2
> etc..
> (the other 2 java processes are separate java daemons, nothing to do
> with Tomcat).
> 
> At this point Tomcat and this external application are very responsive,
> at least in single-user mode. We have not really done yet a multi-user
> test.
> 
> Now, if I stop and restart Tomcat, for something like 6 minutes after
> that, the same top display shows this kind of thing :
> (There are 4 consecutive snapshots here, taken at more or less regular
> intervals during the 6 minutes)
> 
> I)
> top - 12:44:56 up 162 days, 18:54,  3 users,  load average: 0.99, 0.27,
> 0.08
> Tasks:  85 total,   3 running,  82 sleeping,   0 stopped,   0 zombie
> Cpu(s): 98.0%us,  2.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> 0.0%st
> Mem:    516920k total,   351160k used,   165760k free,    54548k buffers
> Swap:  1297564k total,    70000k used,  1227564k free,   128152k cached
> 
>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>  2864 tomcat55  25   0  463m  40m  11m R 97.9  7.9   0:25.62 java
>  5937 root      16   0  267m  24m 8056 S  0.0  4.9  25:38.84 java
> 24608 root      23   0  260m  15m 9332 S  0.0  3.1   0:02.17 java
> 24638 root      15   0 29564  15m 5984 S  0.0  3.0   0:02.16 apache2
> 24627 efs       15   0 16964  12m 1968 S  0.0  2.6   0:06.74 MiraLoader.pl
> 24664 www-data  15   0 29692  12m 3428 S  0.0  2.5   0:04.46 apache2
> etc...
> 
> II)
> top - 12:48:07 up 162 days, 18:57,  3 users,  load average: 1.70, 0.96,
> 0.38
> Tasks:  85 total,   2 running,  83 sleeping,   0 stopped,   0 zombie
> Cpu(s): 95.0%us,  5.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> 0.0%st
> Mem:    516920k total,   483396k used,    33524k free,    55680k buffers
> Swap:  1297564k total,    70000k used,  1227564k free,   138644k cached
> 
>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>  2864 tomcat55  25   0  461m 159m  12m R 99.2 31.5   3:30.88 java
>  5937 root      16   0  267m  24m 8056 S  0.0  4.9  25:38.84 java
> 24608 root      23   0  260m  15m 9332 S  0.0  3.1   0:02.17 java
> 24638 root      15   0 29564  15m 5984 S  0.0  3.0   0:02.16 apache2
> 24627 efs       15   0 16964  12m 1968 S  0.0  2.6   0:06.74 MiraLoader.pl
> 24664 www-data  15   0 29692  12m 3428 S  0.0  2.5   0:04.46 apache2
> etc...
> 
> III)
> top - 12:50:20 up 162 days, 19:00,  3 users,  load average: 1.54, 1.15,
> 0.53
> Tasks:  85 total,   2 running,  83 sleeping,   0 stopped,   0 zombie
> Cpu(s): 94.4%us,  5.3%sy,  0.0%ni,  0.0%id,  0.3%wa,  0.0%hi,  0.0%si,
> 0.0%st
> Mem:    516920k total,   509016k used,     7904k free,    51668k buffers
> Swap:  1297564k total,    70000k used,  1227564k free,   142828k cached
> 
>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>  2864 tomcat55  25   0  461m 184m  12m R 98.5 36.6   5:40.81 java
>  5937 root      16   0  267m  24m 8056 S  0.0  4.9  25:38.84 java
> 24608 root      23   0  260m  15m 9332 S  0.0  3.1   0:02.17 java
> 24638 root      15   0 29564  15m 5984 S  0.0  3.0   0:02.16 apache2
> 24627 efs       15   0 16964  12m 1968 S  0.0  2.6   0:06.74 MiraLoader.pl
> 24664 www-data  15   0 29692  12m 3428 S  0.0  2.5   0:04.46 apache2
> etc...
> 
> IV) (Now it's back to idle, and Tomcat is responding)
> 
> top - 12:51:48 up 162 days, 19:01,  3 users,  load average: 1.28, 1.19,
> 0.60
> Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
> Cpu(s):  2.0%us,  0.3%sy,  0.0%ni, 97.7%id,  0.0%wa,  0.0%hi,  0.0%si,
> 0.0%st
> Mem:    516920k total,   490692k used,    26228k free,    43552k buffers
> Swap:  1297564k total,    70000k used,  1227564k free,   130936k cached
> 
>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>  2864 tomcat55  25   0  482m 188m  12m S  0.0 37.4   6:46.74 java
>  5937 root      16   0  267m  24m 8056 S  0.0  4.9  25:38.86 java
> 24608 root      23   0  260m  15m 9332 S  0.0  3.1   0:02.17 java
> 24638 root      15   0 29564  15m 5984 S  0.0  3.0   0:02.16 apache2
> 24627 efs       15   0 16964  12m 1968 S  0.0  2.6   0:06.75 MiraLoader.pl
> 24664 www-data  15   0 29692  12m 3428 S  0.0  2.5   0:04.46 apache2
> etc...
> 
> In other words, while this application is being loaded, our Tomcat and
> the whole system are totally unresponsive for about 5 minutes.
> I know that it has to do with this application, for a number of reasons,
>  two of them being :
> - if I do not start the application at Tomcat startup, Tomcat is
> responsive after 15 seconds, instead of 5 minutes
> - the Tomcat logfile shows me where things are not moving anymore during
> those 5 minutes, and that is at the point of some message from this
> application
> - if I stop and restart this application separately with the Tomcat
> Manager, I get the same 5 minute-freeze as when starting Tomcat
> - I know also that this application has to read and parse a 25 Mb file
> of XML data containing some data structure that it needs later on.  I
> don't know how it parses this, just that it does.
> 
> Now my questions are of the kind :
> Our production servers are ASP servers, where several customers would be
> using this same application, each customer with its own 25 Mb XML file
> of data.  They are more powerful servers, but if I have 5 customers and
> these things compete with one another for memory or resources, I could
> have a server that is unresponsive for a hour maybe at start.
> 
> So basically, I am asking if there are any parameters I can vary for the
> application startup or Tomcat in general, to evaluate the behaviour
> under different circumstances, or if I should put more RAM in the
> server, or if I should lower or raise the amount of memory available to
> Tomcat (and how), etc..
> I am also a bit surprised about the amounts I see in terms of memory
> usage, but not being an expert, I have not really anything to compare
> them with.  It's just that these java applications seem very hungry in
> memory, if what is shown is really what they are using.  For comparison,
> we have other applications running on that server, of comparable
> complexity, and they use 10-15 Mb apiece.
> 
> Anybody feel like commenting ?

If the production servers are all much faster, then your observation
that an ancient PC is slow starting up Tomcat is probably moot, no?

Try to test the install on a comparable bit of hardware.


Having said that, parsing XML can be a memory intensive operation as
well, so your old box could be experiencing problems there - check the
garbage collection log.

p



> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to