Каковы пустые записи 'pathname' в '/ proc / smap' для процесса Java? - PullRequest
0 голосов
/ 20 октября 2010

У меня большая утечка памяти в большом Java-приложении.Но утечка, кажется, не в самой памяти JVM (то есть: куча, eden, оставшийся в живых, код, perm_gen и т. Д.), Так как у меня не хватает этого типа памяти (то есть: она увеличивается во время использования,но, в конце концов, когда GC запускается, он возвращается обратно.

Моя проблема в том, что у меня не хватает системной памяти!Поэтому я отслеживаю / proc / smap и использую инструменты pmap, чтобы увидеть, что происходит.Например, записи 'so', 'tmp' и 'jar' остаются относительно стабильными и не увеличивают слишком много в отображаемых элементах, а также не увеличивают их отображаемый размер неожиданно (как и ожидалось).

Ночто со временем значительно увеличивается, так это количество отображаемых записей, которые НЕ назначены определенному пути.Со временем их становится все больше и больше, и они, похоже, не исчезают.

Я могу понять, что происходит, например, когда JVM отображает файл JAR, но что именно представляют собой эти сопоставления без путей?У кого-нибудь есть объяснение / пример?

Кроме того, кто-нибудь может подтвердить, что запись «[heap]» является фактической кучей кода JVM и не имеет ничего общего с пространством кучи XMM и XMS.

Я использую Java (TM) 2 Runtime Environment, Standard Edition (сборка 1.5.0_07-b03) в дистрибутиве Linux 2.6.16.

1 Ответ

0 голосов
/ 21 октября 2010

Какой сервер приложений вы используете?

Это может быть утечка памяти, так что вы можете обновить JDK и попробовать?

...