Le meilleur start.sh

Discussion dans 'Support serveur et plugins' créé par Fau8, 19 Mai 2018.

  1. Fau8

    Fau8 Fondateur de Levile

    Inscrit:
    20 Février 2017
    Messages:
    142
    J'aime reçus:
    7
    Bonjour, bonsoir, je fais quelques recherches sur le start.sh, j'ai vu qu'il y avait plusieurs options supplémentaires qui pouvaient améliorer le serveur. Cependant, ils y en a qui sont différents des autres (avec d'autres options), donc je me demande quel est le meilleur start.sh..
    Code:
    while true
    do
    java -server -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -Xms5G -Xmx5G -jar spigot.jar nogui
    echo Redémarrage...
    done
     
  2. Alex Fatta

    Alex Fatta Commandant de la Flotte et de la Horde

    Inscrit:
    13 Août 2014
    Messages:
    1 269
    J'aime reçus:
    169
    Bonjour !

    Il n'existe pas de bon ou de mauvais fichier de lancement. Tut ce qu'il y a dedans, ce sont des arguments java. Il en existe des plus courts que ce que tu as envoyé. N'importe quel tutoriel sur internet montrant comment créer un serveur minecraft te proposera un fichier de démarrage. Il y a une chose importante dans la ligne en question : c'est la quantité minimum de RAM et la quantité max allouée au programme. Après le reste, ca varie en fonction des personnes et des tutoriels ;)

    AlexFatta
     
  3. Fau8

    Fau8 Fondateur de Levile

    Inscrit:
    20 Février 2017
    Messages:
    142
    J'aime reçus:
    7
    Je sais que le plus important dans le fichier de lancement est la RAM, mais ces arguments Java font-ils vraiment une différence par rapport à un fichier de lancement basique ? Et si oui, laquelle ?
     
  4. robin4002

    robin4002 Étudiant en informatique
    Staff Responsable technique Responsable forum

    Inscrit:
    12 Novembre 2012
    Messages:
    16 005
    J'aime reçus:
    2 571
    Salut,
    Le script que tu as lancé a la commande java à l'intérieur d'une boucle while, ce qui relancera automatiquement le serveur s'il se coupe (ça peut servir dans certains cas).

    Concernant les arguments java, ça peut faire une petite différence, surtout pour le garbage collector (ce qui gère la mémoire).
    Java 7 et 8 utilise le Parallel GC, mais le nouveau G1 GC est déjà dispo avec java 8 (par défaut avec Java 9) il est plus performant et je recommande donc de l'utiliser (le launcher de Minecraft lance par ailleurs le jeu avec ce GC) :
    Code:
    -XX:+UseG1GC
    Le launcher de minecraft lance le jeu avec les arguments suivants :
    Code:
    -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Il peut être intéressant de reprendre l'argument -XX:MaxGCPauseMillis=50 qui évitera que le GC utilise trop de temps cpu à chaque lancement de ce dernier (pendant que le GC tourne, le code de minecraft ne s'exécute pas).

    Tu peux aussi augmenter le nombre de thread utilisé par le GC avec :
    Code:
    -XX:ParallelGCThreads=n
    et
    Code:
    -XX:ConcGCThreads=n
    (tu peux remplacer n par le nombre de cœurs du processeur du serveur).

    http://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.html
     
    Fau8 et Alex Fatta aiment ça.

Partager cette page