Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > garbage collector

Reply
Thread Tools

garbage collector

 
 
db_man
Guest
Posts: n/a
 
      12-19-2006
Hi ,

We use oracle application server and have some pausing problems inside

the java vm. The problem shows itself as pausings of executions , when
clients start to get late responses ( here lat e means < 4 sec. ) , i
see more than 10 garbage collector operations . The client applications

are web services and do database queries. The java process ( the os is
sun solaris) , according to the prstat , has > 1000 threads inside ,
and during the garbage collectiong phase , consumes more than 60% cpu
time. ( the server has 2 cpus - 2 gb. ram) The java process uses the
following parameters:


What i think is , the reason of the suspensions is garbage collector
activity.


In order to decrease the time that cause pausing , i either increase
the virtual memory allocated by the java process , or change the
garbage collector method. Before adding up mor memory to teh system ,

i want to be sure the effect of changing garbag ecollector methodology.



The gc used here is serial garbage collector , in order to speed it up
, the documents say that parallel garbage collector is used.


I write a small test program . This program creates 1000 threads .
Each thread creates objects by using new in a loop , and this causes
the garbage collector runs heavily in order to clean teh garbages. And

i run the program bu using different garbage collectors but
unfortunately , i dont see great difference beetween serial and
parallel gc ,and serial gc is faster.


Why does this so?


Serial gc:


timex java -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-Xmx450m -Xms450m -XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime -XX:+UseSerialGC test > test1


real 23.48
user 3:26.67
sys 4.33


parallel gc:


timex java -server -verbose:gc -XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -Xmx450m -Xms450m
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime -XX:+UseParallelGC test > test1


real 24.35
user 3:24.68
sys 30.95


and here is the test code:


(I run this test on a bigger box , 24gb.ram , 6 dual core solaris cpus
)



>cat test.java



import java.util.*;
import java.net.*;
import java.io.*;

class testTh extends Thread
{
public int val ;
public testTh ( int pval) { val=pval; }
public void run() {
int i=0;
String s =new String("aaaa");
boolean flag=true;
while (flag)
{
for (int j=0;j<100000;j++) {
s = new
String("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
}
i++;
if (i>10) flag=false;
}
}



}


public class test
{
public void dene() {
for ( int j=0;j<1000;j++)
(new testTh(j)).start();

}
public static void main(String args[])
{
test t = new test();
t.dene();



}
}


Kind Regards,
hope

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
JNI problem with Garbage Collector ? bart59 Java 0 06-17-2004 07:34 AM
OutOfMemoryException Error: Garbage Collector doesn't release memory to OS Pyramis ASP .Net 0 01-25-2004 04:37 PM
DVD Verdict reviews: ALIEN: COLLECTOR'S EDITION, ALIEN3: COLLECTOR'S EDITION, and more! DVD Verdict DVD Video 0 12-15-2003 10:05 AM
Garbage collector problem Colt Java 9 11-18-2003 01:15 PM
Garbage Collector Debugging Rob Tillie ASP .Net 11 08-18-2003 10:39 PM



Advertisments