Программа RMI для предварительной сборки GC на другой виртуальной машине Java - PullRequest
1 голос
/ 22 декабря 2010

Мне интересно написать Java-программу для выполнения GC на другой JVm, которая присутствует на другой машине. В настоящее время я наблюдаю за JVM вручную, что означает, что я открываю jconsole на моей машине и собираю GC, когда память JVM пересекает определенный предел памяти. я хочу сделать автоматически с помощью Java-программы ..

пожалуйста, предоставьте предложения ....

Спасибо, Кришна

Ответы [ 2 ]

3 голосов
/ 22 декабря 2010

Это звучит как ужасный взлом, чтобы иметь дело с проблемой, почти наверняка не связанной с самим сборщиком мусора.Принудительная полная сборка мусора - это почти никогда не то, что вы хотите сделать.Об этом есть множество потоков в стеке, например Почему плохая практика вызывать System.gc ()?

Короткий ответ: не делайте этого.Вместо этого настройте параметры GC, чтобы он делал то, что вы хотите.

Если вы оценили все другие параметры и все еще хотите пойти по этому пути печали, вы можете просто использовать метод RMIпризовите System.gc(), как предполагает мистер Фламер.Если вы действительно действительно хотите быть уверенным, используйте метод JVMTI ForceGarbageCollection .

0 голосов
/ 22 декабря 2010

Но помните, что когда вы вызываете System.gc (), запуск сборки мусора не гарантируется.Вы должны оставить это JVM.

...