J'ai besoin d'un moyen de déclencher un GC complet à partir d'un script de console Linux sur Ubuntu. Je sais que c'est une très mauvaise pratique, mais sans trop entrer dans les détails, cela permet à mon serveur de fonctionner. Cela ne dure qu'un ou deux jours alors que je répare le problème, je n'ai pas besoin de me réveiller effectuer une GC manuelle via jconsole ou jvisualvm.Comment déclencher le GC manuel à partir de la console Linux sans X11
Sinon, je dois faire un script de souris qui clique sur le bouton toutes les 3 ou 4 heures, ce qui est encore pire.
Aidez-nous s'il vous plaît.
Cela va fonctionner. C'est un peu effrayant que vous ayez besoin de faire cela, mais ça marchera. –
+1 à ce commentaire, bien que d'après la question, j'ai l'impression que Ævar est déjà conscient de cela, et utilise cette technique comme solution provisoire. –
Merci beaucoup, j'ai essayé et cela a fonctionné, permettra d'économiser la nuit, même si je suis très proche de la résolution du problème réel. Pour clarifier un peu le problème, j'ai étudié les paramètres du GC pendant un certain temps et j'ai beaucoup travaillé.Le problème n'est pas que la JVM manque de mémoire et que le serveur fonctionne correctement, mais qu'il fuit les sockets CLOSE_WAIT, qui ne sont nettoyées que pendant le GC complet. Ce qui est également très étrange, cela remplit les pools de connexion et les limites de descripteur de fichier, et se termine par la suspension du serveur. –