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();
}
}*