A
A
AlexWinner2010-11-23 11:20:32
Java
AlexWinner, 2010-11-23 11:20:32

Why are JBoss' GC pauses growing?

Greetings!
Situation such:
There are 2 servers, on everyone turns on JBoss'u 4.2. Each JBoss spins around the application (let there be A and B). Application A goes to B via EJB. Everything works as it should.
However, there is a problem :
The first JBoss is gradually increasing the GC execution time for the young generation. Shortly after launch, this time is 0.1 seconds, and after three days it is already 1.1 seconds. As a result, the load on the server increases and the throughput of the application decreases.
About settings :
Used -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:NewSize=1024M -XX:MaxNewSize=1024M
At the same time, everything is fine on JBoss with application B.

There is a suspicion that such growth is caused by the fact that A is connected to B, because the similar situation repeated and on other JBoss'ah and applications.
Could you tell me, please, because of what these pauses can grow?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
apangin, 2010-11-23
@AlexWinner

Umm…why is YoungGen so big? That's what generational GC is for, so that the younger generation is small and fast. What is the overall size of Java Heap?
For maximizing throughput, ParallelGC is better.
It looks like a memory leak in the application itself. Is it possible to run with -Xloggc:gc.log -XX:+PrintGC [-XX:+PrintGCDetails -XX:+Verbose]?

A
AlexWinner, 2010-12-06
@AlexWinner

As a result, everything was decided by adding the -XX: + CMSClassUnloadingEnabled -XX: + CMSPermGenSweepingEnabled parameters to JAVA OPTS.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question