4 votes

Comment limiter un processus Java à une certaine quantité de RAM ?

Je suis en train de limiter Minecraft à une certaine quantité de mémoire. Pour ce faire, je le lance à partir d'un fichier batch avec la ligne suivante :

javaw -Xms256M -Xmx256M -cp Minecraft.exe net.minecraft.LauncherFrame

Mais il dépasse régulièrement les 800 Mo.

J'ai également essayé de me rendre dans l'applet Java dans le Panneau de configuration. Puis dans l'onglet Java/Afficher..., puis j'ai ajouté le paramètre d'exécution suivant :

-Xmx256m

Cela n'a pas non plus aidé.

Que puis-je faire pour limiter un processus Java (ou du moins Minecraft en particulier) à 256 Mo de RAM.

4voto

MSalters Points 8049

-Xmx ne contraint que le tas Java. Le code lui-même, le JVM, les DLL OS, les structures de données internes Java et les piles de threads prennent tous de la mémoire supplémentaire. Dans votre cas, ils prennent apparemment plus de 550 Mo de RAM. Aucun paramètre de tas ne ferait que le total soit inférieur à 256 Mo.

Cependant, notez que les parties du code peuvent être partagées entre les processus. Une DLL qui utilise 5 Mo de RAM dans votre processus utilisera généralement les mêmes 5 Mo de RAM dans un autre processus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X