Я создал пользовательскую версию класса System, которая записывает в файл трассировку стека при каждом вызове System.gc (). Это позволит вам отследить все места, где оно называется.
Он будет искать звонки в любой точке системы, включая JDK.
Одно место, куда вы получаете вызовы System.gc (), находится в модуле RMI, чтобы помочь найти удаленные удаленные объекты. Вы можете уменьшить, как часто он будет вызывать полный GC с
-Dsun.rmi.dgc.server.gcInterval=86400000
-Dsun.rmi.dgc.client.gcInterval=86400000