2012-06-12 3 views
13

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

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

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

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

ответ

35

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

+0

Да, я не смог найти строки printf, потому что это было сделано с помощью файла lagback.xml. По мере изменения статуса в этом файле строки журнала были уменьшены, и ошибка была уменьшена. Большое спасибо. – Rags

+0

снятие флажка «Fixed Shidth Console» разрешило мою ... – KillBill

5

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

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

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

Решение:

Щелкните правой кнопкой мыши на консоли -> Настройки

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

0

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

Смежные вопросы