L'un des avantages de Java est que les programmeurs n'ont pas besoin d'allouer et de désallouer les objets (ou la mémoire). Dans d'autres langages orientés objet, comme C++, le programmeur se charge de l'allocation et de la désallocation des objets. L'oubli de la désallocation provoque des fuites de mémoire, parfois
Ramasse-miettes
fatales pour les
applications.
Java, en revanche, utilise un système
de ramasse-miettes pour libérer
les objets inutilisés. Pour savoir quand
un objet n’est plus nécessaire, le ramasseramasse-
miettes regarde s’il existe des
références valides le concernant. Les
objets non référencés sont supprimés,
libérant la mémoire associée.
Sur la JVM iSeries, le ramassemiettes
s’effectue en mode asynchrone
continu. Il consomme des
cycles de CPU. On peut donc réduire le
temps consacré au ramasse-miettes et
améliorer la performance, en évitant
des créations d’objets excessives. On
peut aussi améliorer la performance en
limitant la fréquence du ramassemiettes.
L’exécution du ramasse-miettes se
fonde sur la taille initiale du tas, que
l’on peut définir avec les options de la
ligne de commande Java. L’iSeries définit
la taille du tas initiale différemment
des autres plates-formes. Sur ces dernières,
la taille de tas initiale détermine
la quantité initiale de mémoire à allouer
et la taille de tas maximale détermine
quand le ramasse-miettes s’exécute.
Le plus souvent, la taille de tas
maximale ne devrait pas être indiquée
sur un iSeries. La valeur par défaut est
*NOMAX.
Sur iSeries, le paramètre de taille
de tas initiale est un seuil qui déclenche
un cycle de ramasse-miettes.
Mais ce seuil n’est pas basé sur la taille
absolue du tas ; il dépend plutôt de
combien le tas a grandi depuis le dernier
ramasse-miettes.
Pour WAS, la valeur de taille de tas
initiale par défaut est de 32 Mo. Dès
que 32 Mo d’espace auront été alloués,
le premier cycle de ramasse-miettes
s’exécutera, libérant une partie de la
mémoire pour réutilisation. Si, par
exemple, le ramasse-miettes libère 20
Mo dans le premier cycle de ramassage,
il ne s’exécutera à nouveau que
quand la taille du tas aura atteint au
moins 52 Mo (32 + 20). Dans certains
cas, la taille du tas se stabilise et cesse
de croître.
L’un des changements les plus faciles
et les plus efficaces concernant un
environnement WAS est d’ajuster la
taille initiale du tas. Essentiellement,
elle détermine la fréquence des ramasse-miettes. En augmentant cet
intervalle sur un système chargé, on
peut améliorer les performances. La
valeur optimale est généralement déterminée
par la méthode empirique
d’essais successifs.
La taille de tas initiale est définie
sur la Console Administrative. Pour déterminer la fréquence des
ramasse-miettes et ajuster en conséquence
la taille de tas initiale, on dispose
d’outils comme la commande
DPMJVM (Dump Java Virtual Machine)
et le WebSphere Resource Analyzer.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA & pilotage de portefeuille de projets : accélérer la décision sans en perdre le contrôle
- Analyse Patch Tuesday Juin 2026
- La bataille de la 6G se gagne dans la donnée en temps réel
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
