Как форсировать сборку мусора из Shell в Go - PullRequest
0 голосов
/ 01 мая 2020

Вы можете принудительно выполнить сборку мусора в java, используя jcmd <pid> GC.run, как показано на этой ссылке StackOverflow: Как выполнить принудительную сборку мусора из командной консоли? . Я понимаю, что форсирование сборки мусора неодобрительно, но мне было интересно, была ли подобная команда для golang. Как и этот вопрос, я хотел бы знать, можно ли выполнить сборку мусора из командной строки вместо вызова Runtime.G C ().

1 Ответ

2 голосов
/ 01 мая 2020

Невозможно запустить G C из командной строки. Подумайте, что ваша программа является автономной скомпилированной версией. Если вам нужно «заставить» G C запускаться в определенное время, я думаю, вы можете использовать две формулы:

  1. В своем приложении проверьте наличие файла с inotify. Когда файл появляется, вы запускаете G C
  2. . В вашем приложении дождитесь сигнала от операционной системы (Linux), такой как SIGUSR1, и запустите G C. , Затем вы отправляете сигнал из консоли, используя:

    kill -10 pid

Где pid - это идентификатор работающей программы, как это показано в ps -aux

...