Sync failed with error "Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory"

Salut à tous,
Pour ceux qui sont sous yunohost avec l’app duniter de leur catalogue.
Voici en détails ce qu’il faut faire.
Dans un premier temps, si vous n’avez pas beaucoup de RAM de libre sur votre serveur pour la synchro, il ne faut pas la lancer avec l’interface graphique. Car en passant par la, que la synchro soit compléte ou pas, le script démarre le serveur duniter, c’est pour cela que vous vous retrouver avec une synchro en début d’année.
Attention la synchro est longue (plusieurs heures) en fonction de votre machine et de votre connexion internet. Je vous conseille lancer la commande dans une session screen pour la laisser tourner en tâche de fond et la reprendre de temps en temps pour voir le résultat.
Pour le reste, le mieux est de faire ainsi :

  • connectez vous en SSH sur votre serveur
  • stopper le serveur duniter : sudo systemctl start duniter
  • stopper tout vos services et apps qui ne vous servent pas, surtout les plus gourmands
  • lancer la commande : free -h (permet de voir la quantité de mémoire dispo)
  • lancer la synchro avec la commande suivante et patientez :
    sudo su - duniter -c “NODE_OPTIONS=–max-old-space-size=5120 duniter --home /home/yunohost.app/duniter sync g1.duniter.org
  • la variable --max-old-space-size=5120 indique la quantité de mémoire que j’ai de dispo pour la synchro.
  • la commande free -h m’a dit 6Go de dispo j’ai indiqué un peu moins 5120 correspond à 5Go pour tranquille/
  • une fois la synchro terminée vous pouvez demarrer le serveur duniter : sudo systemctl start duniter

SURTOUT ne lancez pas de commande : duniter sync g1.duniter.org directement en tant que root ou sans avoir renseigner la valeur de --home car cela va demarrer une deuxieme instance du serveur duniter qui n’aura aucun lien avec l’interface web.

voili voilou

6 Likes