Articles avec le tag ‘jvm heap’

OutOfMemoryError Java, que faire ?

Introduction

Un des atouts (ou inconvénient pour certains) de Java est qu'il n'y a pas à s'occuper de la libération de la mémoire grâce au Ramasse Miettes (Garbage Collector).

Malgré cela, nous ne sommes pas à l’abri de fuites mémoires (la fameuse exception OutOfMemoryError).

Pour pallier à ce problème, le moyen le plus simple est de faire un arrêt/relance de l'application. Solution que je déconseille d'utiliser, car en plus du problème de performance, s'ajoute le problème de disponibilité de l'application pour les clients.

Plus globalement, sans vouloir être puriste, nous n'avons pas d'autres choix que de corriger l’OutOfMemoryError, que cela soit un mauvais paramétrage de la JVM et/ou une fuite mémoire.

L'objectif de cet article est de comprendre comment apparaissent les OutOfMemoryError.
Lire la suite de cette entrée »

Découvrir et isoler une fuite mémoire java – part 1

Difficile lorsqu'on se retrouve dos au mur face à des problématiques de performance qui poussent la réflexion plus loin que des simples allocations de ressources.

J'insiste comme à chacun de mes discours liés de près à la performance, pour bien rappeler que chaque problème a une ou des origines, et ne représente pas un caractère aléatoire voire para-normal comme certains pourraient s'en convaincre !

Enfin,  une solution devra et sera trouvée pour chaque problème.

Dans le cas ci-dessous, je vais vous détailler un retour d'expérience chez l'un de nos gros clients dont l'architecture JEE nécessitaient systématiquement des redémarrages de serveurs pour palier à des fuites mémoires, et donc au final faisant face avec une certaine impuissance disons le :-).

Fuites mémoires identifiées sur des JVM Oracle JRockit de serveurs Weblogic 10.

Ce post se découpera en 2 parties :

  • 1ère partie : rappel sur le comportement des JVM et sur les différents types de fuites mémoires
  • 2ème partie : ma mise en situation détaillant outil et méthodologie pour atteindre l'objectif d'identifier la fuite, la comprendre et la corriger !

Lire la suite de cette entrée »

Mots-clés
RSS Feed