Есть ли функция, например, Finding which methods allocated large objects для Sun JAVA?Поиск кода, выделенного большими объектами в Sun JVM
-Xdump:stack:events=allocation,filter=#1k
или
-Xdump:stack:events=allocation,filter=#2m..4m
Есть ли функция, например, Finding which methods allocated large objects для Sun JAVA?Поиск кода, выделенного большими объектами в Sun JVM
-Xdump:stack:events=allocation,filter=#1k
или
-Xdump:stack:events=allocation,filter=#2m..4m
также уроженец способ сделать это существует с помощью Java агента: code.google.com/p/java-allocation-instrumenter - Martin 6 июн '13 в 3:26 Смотрите также How to find all referrers of an object in Java?
Я не уверен, что есть способ сделать это только с командной строки к JVM, но вы должны быть в состоянии использовать HPROF сбросить кучу, а затем проанализируйте дамп, используя jhat, чтобы найти большие объекты и где они были выделены (если они все еще находятся в куче, когда hprof выгружает ее).
Вы можете использовать HPROF сбросить кучу так:
java -agentlib:hprof=heap=dump
Это даст вам файл .hprof, то вы можете запустить jhat:
jhat <pid>.hprof
jhat будет работать веб-сервер на :
http://localhost:7000.
Итак, укажите ваш браузер и возьмите al ook.