Mais dans ce cas le problème pourrait être inverse:
Si la limite mémoire de la JVM est trop élevée par rapport à la quantité de RAM effectivement disponible, le garbage collector ne va pas essayer de libérer de la mémoire tant qu'il a de la marge sur la limite imposée (ce comportement est configurable). Mais quand trop peu de RAM est disponible, le système va commencer à déplacer des pages mémoire en swap.
À partir de là, si une requête à besoin d'utiliser des données qui sont parties en swap, il devra attendre qu'elles soient re-déplacées en RAM, et d'autres seront déplacées en swap pour faire de la place (d'où cercle vicieux).
L'impact sur les statistiques d'IO n'est pas forcément énorme, puisque c'est seulement quand on en a besoin qu'il faut lire la swap.
Si c'est ça le problème, alors régler la limite mémoire de la jvm plus basse améliorera les performances en forçant le garbage collector à libérer de la mémoire plus souvent.
[^] # Re: limite mémoire de la JVM
Posté par wismerhill . En réponse au message Tomcat - Application qui devient lente sans raison apparente. Évalué à 4.
C'est pas faux.
Mais dans ce cas le problème pourrait être inverse:
Si la limite mémoire de la JVM est trop élevée par rapport à la quantité de RAM effectivement disponible, le garbage collector ne va pas essayer de libérer de la mémoire tant qu'il a de la marge sur la limite imposée (ce comportement est configurable). Mais quand trop peu de RAM est disponible, le système va commencer à déplacer des pages mémoire en swap.
À partir de là, si une requête à besoin d'utiliser des données qui sont parties en swap, il devra attendre qu'elles soient re-déplacées en RAM, et d'autres seront déplacées en swap pour faire de la place (d'où cercle vicieux).
L'impact sur les statistiques d'IO n'est pas forcément énorme, puisque c'est seulement quand on en a besoin qu'il faut lire la swap.
Si c'est ça le problème, alors régler la limite mémoire de la jvm plus basse améliorera les performances en forçant le garbage collector à libérer de la mémoire plus souvent.