Allouer plus de 2Go de RAM à son serveur Minecraft

L'oignon-19

Aventurier
4 Juillet 2020
7
1
0
1
26
Bonjour.
Suite à la création d'un serveur Minecraft Spigot sous Linux (Debian), j'ai voulu lancer le serveur mais à ma grande surprise il ne voulait pas se lancer avec plus de 2Go max (ma machine possède 8Go DDR2 800Mhz) :
start.sh :

java -Xms2G -Xmx8G -jar spigot.jar nogui

Message d'erreur :


Invalid maximum heap size: -Xmx8G
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Mais lorsque je lance le serveur avec 2Go max (
java -Xms2G -Xmx2G -jar spigot.jar nogui )
Le serveur se lance sans problème mais avec 1/4 de ma RAM.

J'espère que quelqu'un pourra m'aider !
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 125
161
460
247
21
Mìlhüsa
Bonjour,

Tu as probablement installé Java 32 bits, tu peux vérifier avec :
Code:
java -d64 -version

Et allouer plus de mémoire n'accélère en rien la vitesse. Le seul problème c'est si le programme n'a pas assez de mémoire, auquel cas il perdra du temps à essayer d'en trouver. Si tu lui réserves trop de mémoire, il n'utilisera que ce dont il a besoin (probablement que ~ 2 Go), et donc les 6 Go restant qui sont totalement inutilisés ne pourront pas être utilisés par les autres programmes, donc ce sont les autres programmes qui perdront du temps à chercher de la mémoire. Le système d'exploitation est un programme.

Pour l'image, c'est comme réserver un hôtel complet pour trois personnes. Oui, tu ne perdras pas de temps à trouver une chambre, mais tu mets en pause tous les autres clients qui attendent à la réception.

Cordialement,
ShE3py.
 
  • J'aime
Reactions: L'oignon-19

L'oignon-19

Aventurier
4 Juillet 2020
7
1
0
1
26
Premièrement merci pour ta réponse.
Et oui c'est bien java 32 bits qui est installé sur ma machine :

Unrecognized option: -d64
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit

Mais le seul processus qui tourne sur la machine est le serveur Minecraft.
Avec seulement deux joueurs connectés le quota de mémoire est presque épuisé.
J'aimerais vraiment savoir si le serveur peut utiliser autant de RAM qu'il le souhaite.
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 125
161
460
247
21
Mìlhüsa
Essaye d'installer Java 8 en 64 bits, par contre comment vois-tu le quota de mémoire ?

Les systèmes 32 bits sont limités à des adresses de 32 bits, soit 2^32 ≈ 4,3 x 10^9, donc en théorie ils ne peuvent pas gérer plus de 4 Go de mémoire. En pratique il s'agit plus de l'ordre des 2/3 Go.

Et sinon, le serveur peut utiliser autant de mémoire qu'il souhaite tant qu'il ne dépasse pas ton -Xmx.
 

L'oignon-19

Aventurier
4 Juillet 2020
7
1
0
1
26
Essaye d'installer Java 8 en 64 bits, par contre comment vois-tu le quota de mémoire ?

Les systèmes 32 bits sont limités à des adresses de 32 bits, soit 2^32 ≈ 4,3 x 10^9, donc en théorie ils ne peuvent pas gérer plus de 4 Go de mémoire. En pratique il s'agit plus de l'ordre des 2/3 Go.

Et sinon, le serveur peut utiliser autant de mémoire qu'il souhaite tant qu'il ne dépasse pas ton -Xmx.
Mais comment lui faire dépasser le Xmx sachant que je ne peux pas le mettre au delà de 2Go ?
Et pour voir la RAM utilisée c'est avec la commande /tps
 

L'oignon-19

Aventurier
4 Juillet 2020
7
1
0
1
26
La commande /tps affiche :
[15:48:08] [Server thread/INFO]: TPS from last 1m, 5m, 15m: *20.0, *20.0, *20
.0
[15:48:08] [Server thread/INFO]: Current Memory Usage: 1472/2048 mb (Max: 204
8 mb)

Et peux-tu me dire comment je passe sur java 64 bits ?
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 125
161
460
247
21
Mìlhüsa
Je ne sais pas comment tu héberges ton serveur, mais il suffit d'installer Java comme tout autre programme. Il faut juste faire attention à bien prendre Java 8, 64 bits.

Et sinon le /tps indique que le serveur utilise ~ 75% de la mémoire, par contre vu les tps tu n'as pas trop de problème niveau mémoire pour l'instant.
 
  • J'aime
Reactions: L'oignon-19

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 855
157
3 002
347
26
Alsace
www.minecraftforgefrance.fr
Bonsoir,

Java 32 bits sur un Linux c'est étonnant, à moins que l'OS est aussi en 32 bits ?
Que renvoies la commande uname -r ?
 
Dernière édition: