Tuning JVM (GC) pour la haute réactif serveur d'application

Je suis en cours d'exécution d'une application serveur sur Linux 64 bits avec 8 Processeurs core et 6 GO de mémoire.

Le serveur doit être très réactive.

Après quelques inspection, j'ai trouvé que l'application en cours d'exécution sur le serveur crée plutôt une énorme quantité d'objets éphémères, et ne dispose que d'environ 200~400 MO longue durée de vie des objets(tant qu'il n'y a pas de fuite de mémoire)

Après la lecture de http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html
J'utilise ces options JVM

-server -Xms2g -Xmx2g -XX:MaxPermSize=256m -XX:NewRatio=1 -XX:+UseConcMarkSweepGC

Résultat: le mineur GC 0.01 ~ 0.02 sec, les principaux GC 1 ~ 3 sec
le mineur GC arrive constamment.

Comment puis-je améliorer ou régler la JVM?

plus grande taille de segment de mémoire? mais ça va prendre plus de temps pour la GC?

plus NewSize et MaxNewSize (pour les jeunes générations)?

autres collecteur? en parallèle GC?

est-ce une bonne idée de laisser les grands GC lieu le plus souvent? et comment?

InformationsquelleAutor rnd_nr_gen | 2010-04-30