La raison pour laquelle nous avons ajouté ce drapeau est que le propre tueur OOM de Node tuait la construction - 500 Mo n’était pas suffisant. Je suis heureux d’essayer de le régler sur 1,5 Go - je viens de l’essayer sur ma gouttelette et cela semble fonctionner correctement. En fait, même 1,0 Go semble suffisant.
J’ai essayé de suivre l’utilisation de la mémoire avec différentes tailles de tas maximales :
(while(true); do (free -m -t | grep Total | awk '{print $3}') && sleep 0.5; done) | tee 1000mb.csv
Cela montre cette utilisation pendant la construction :
Il y avait très peu de différence dans le temps de construction, mais les limites de 1 Go et 1,5 Go produisent clairement moins d’utilisation globale. Comme prévu, la sortie time montre beaucoup moins de « fautes de page majeures » lorsque la limite de nœud est plus basse.
Il est curieux que la différence entre 1,5 Go et 1 Go soit si faible… ![]()
Quoi qu’il en soit, je suis d’accord pour dire que la diminution de la limite est une bonne idée. Pour nous assurer que cela n’affecte pas les performances de construction sur des machines plus performantes, je pense que nous ne devrions dépasser la limite que lorsque nous savons qu’elle est trop basse. Sinon, nous pouvons laisser Node utiliser sa valeur par défaut.
Voici une PR - nous essaierons de la fusionner bientôt. Merci d’avoir soulevé ce point @Ed_S !
