Відповіді:
Від Java SE 6 HotSpot [tm] Налаштування сміття для віртуальної машини
наступне
Надмірний час GC та OutOfMemoryError
Одночасний збірник викине OutOfMemoryError, якщо на збирання сміття витрачається занадто багато часу: якщо більше 98% всього часу витрачається на збирання сміття і менше 2% купи відбирається, OutOfMemoryError буде викинутий. Ця функція призначена для запобігання застосуванню додатків протягом тривалого періоду часу, не досягаючи незначного прогресу або не вимагаючи його, оскільки купа занадто мала. При необхідності цю функцію можна відключити, додавши в командний рядок опцію -XX: -UseGCOverheadLimit.
Політика така ж, як і в паралельному колекторі, за винятком того, що час, витрачений на виконання одночасних колекцій, не зараховується до граничного обмеження часу 98%. Іншими словами, лише колекції, які виконуються під час зупинки програми, зараховуються до надмірного часу GC. Такі колекції, як правило, обумовлені одночасною помилкою режиму або явним запитом колекції (наприклад, викликом до System.gc ()).
в поєднанні з проходом далі вниз
Одне з найпоширеніших застосувань явного збирання сміття відбувається при розподіленому збиранні сміття (DGC). Програми, що використовують RMI, відносяться до об'єктів інших віртуальних машин. Сміття не можна збирати в цих розповсюджених програмах без періодичного збору локальної купи, тому RMI періодично примушує повні збори. Частоту цих колекцій можна керувати властивостями. Наприклад,
java -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
вказує явний збір один раз на годину замість стандартної ставки один раз на хвилину. Однак це також може призвести до того, що деякі об'єкти потребуватимуть набагато довшого часу. Ці властивості можна встановити як Long.MAX_VALUE, щоб зробити час між явними колекціями ефективно нескінченним, якщо немає бажання мати верхню межу своєчасності роботи DGC.
Здається, випливає, що період оцінки для визначення 98% становить одну хвилину, але він може бути налаштований на JVM Sun з правильним визначенням.
Звичайно, можливі й інші інтерпретації.
-XX:+DisableExplicitGC
це не вплине на конфігурацію, пов'язану з RMI, і система викличе gc у частоті, встановленій параметром-Dsun.rmi.dgc.server.gcInterval
-Dsun.rmi.dgc.server.gcInterval
ресурс існує з Java 1.2.