Env: Axis1.4/Tomcat 5.0.30/Java 1.5.0_07/Solaris 10.

Description :
right after system(tomcat) is started, the "top" command show that tomcat
process will use 210M memory, the heap size (using Jprofiler) is
58m/20m(total/used). there is a 150M gap between total process memory
size and java heap size.

I run a client to invoke the web service in a loop, couple houres later,
tomcat process memory size can grow to 510M, the heap size of is 190m/20m
(total/used). so the gap between process memory size and java heap size
grows to 320M.  From gc log, I didn't any thing weired since the used heap
size can keep at 20m, no memory leak can be found at jprofiler.

So my questions are:
1,  what is the difference between java process memory size  and java heap
size ? why can it be 150M in right after tomcat is started ?
2,  why the gap between top can heap can grows from 150M to 320M, where does
170M more memory gone ?

does anybody have simliar experience using axis/tomcat ? I need help

thanks
xucai

Client side code example:
*// get a port from client stub . ignored. *
* while (true) {
        try {
                long start=System.currentTimeMillis();
                for ( int i=0; i<1000; i++) {
                         String reply=port.request(command);  // web
service call
                         System.out.print(".");
                 }
                 long end=System.currentTimeMillis();
                 long used= (end-start)/1000;
                 System.out.println();
                 System.out.println("Time used: "+used);
         } catch(Exception e) {
                 e.printStackTrace();
         }
}*

Reply via email to