Gros dépassement de mémoire

Lattyange

Architecte en herbe
20 Juillet 2011
716
27
147
Salut,

Sur mon serveur, la machine virtuelle de Java n'a que 500 mo de RAM d'allouée, et pourtant un des plugins que j'y ai installé fait saturer toute la mémoire du serveur (1 GB au total) parfois même à tel point où je n'ai même plus accès au serveur par SSH via PuTTy.

Est-ce qu'il y a un moyen d'isoler le plugin qui crée ce dépassement de mémoire ? Ou alors forcer Java à respecter son quota maximum de 500 mo de RAM ?

Merci d'avance !
A+
 
je sais pas si ca va t'aider mais, as tu crées le fichier .bat pour lancer ton serveur ? avec ceci dedans :
Code:
@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
"%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1500M -jar craftbukkit.jar
PAUSE
 
Du coup tu as mis ça pour lancer ton serveur, hein?

Code:
cat > minecraft.sh << EOF
#!/bin/sh
BINDIR="\$(dirname "\$(readlink -fn "\$0")")"
cd "\$BINDIR"
java -Xincgc -Xmx1G -jar craftbukkit-0.0.1-SNAPSHOT.jar
EOF
chmod +x minecraft.sh
 
Oula oula il y a VRAIMENT plus simple ...

Code:
#!/bin/bash (bash ... sh ... etc)
echo "Lancement du serveur ..."
cd /dossier/vers/craftbukkit/.jar
screen -dmS serveur_minecraft java -Xmx512M - Xms512M -jar craftbukkit.jar nogui

Il faut que tu est screen installé sur ton serveur (apt-get install screen). Il va le lancer dans une sorte de shell, il te suffira de faire screen -ls pour récuperer le nom du screen puis screen -r XXXXX.serveur_minecraft (ou X représente un nombre ... utilise TAB pour taper plus vite) pour rentrer dans le screen.
Pour quitter le screen sans tout faire stopper : CTRL + A + D

Tu va voir au début c'est très chiant, mais au final screen est un outil puissant ;)
 
Fais une sauvegarde du fichier
Code:
cp /etc/init.d/minecraft /root/minecraft
. Ensuite il te suffit de l'éditer (avec un éditeur Linux-compatible). Le mieux reste l'édition avec l'éditeur nano si tu n'as pas, fais en root:
Code:
apt-get install nano

Donc tape en SSH:
Code:
nano /etc/init.d/minecraft
Cela se trouve généralement dans les premières lignes de tète je sais plus mais il faut trouve le scripte d’exécution de minecraft_serveur.jar il se trouve normalement au début.
Et éditez le texte en prenant soin de garder la syntaxe. Ne modifie que le message, Quand tu as fini fais CTRL+X puis y puis enter( ...)

Cordialement.
 
Il n'y a rien à faire : Java dépasse le nombre de RAM qui lui est allouée, il ne respecte pas sa limite ! Sur mon ordinateur Windows, je test mon serveur et les même plugins, et je n'ai aucune saturation de mémoire, et pourtant je roule le serveur + le client avec moins de RAM.

Quant à ulimit, elle revient à unlimited dès que je ferme et réouvre ma session SSH.
 
Oui malheureusement, c'est à cause de sa que j'ai des problèmes sur mon vps surtout avec java 6..