Подтвердить что ты не робот

Запуск кучного пространства

У меня проблема с кучей пространства. Моя программа проста. Есть два актера (посылать и получать), "посылать" актер пропускает 10000 объектов в секунду, чтобы "получать", и получать публикует эти объекты. получаемый объект приемников сохраняется в контейнере, но контейнер очищается каждую секунду. Поэтому нет шансов, что у контейнера закончится свободное пространство. Теперь после 420000 объектов мое затмение ботируется ошибкой, говоря, что " ioconsole updater столкнулся с проблемой" . И когда я перейду в подробности, я вижу ошибку Внутренняя ошибка:: Кучное пространство Java

Я попытался увеличить размер кучи. Размер моей кучи составляет 8096 м, а максимальная - 4096.

Я отслеживаю свой код с помощью visualVm, и я замечаю, что он не превышает размер кучи atall. Полностью пустым, как исправить проблему.

Может кто-нибудь дать мне знать, какие другие возможные сценарии могут привести к таким ошибкам.

4b9b3361

Ответ 1

IOConsole - это класс eclipse, а не ваша программа. Вы много печатаете на System.out? В окне "Окно" > "Настройки" выберите "консоль". Установите какой-то лимит для всех буферов консоли. Попробуйте напечатать меньше информации из программы. Возможно, зайдите в файл.

Ответ 2

Вы можете добавить следующие аргументы JVM, чтобы дать вам представление об использовании памяти и том, что делает GC:

-Xloggc:/tmp/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

Ответ 3

Эта проблема возникла из-за размера буфера в консоли.

Решение:

Щелкните правой кнопкой мыши Консоль → Настройки

ограничить консоль.

Ответ 4

Я столкнулся с проблемой, и я попытался ее решить, изменив настройки кучи и буфера в eclipse. Однако я не смог его решить. Затем я заметил, что в моей программе протекает утечка памяти, и количество потоков увеличивается во времени. Проблема была решена после исправления ошибки. Я думаю, что утечка памяти - не самая вероятная причина для нее, но ее следует учитывать.