Я могу видеть в файле heapdump, что класс String исчерпал память, но откуда я знаю конкретно, что это за строки?Как проверить, какие строки Java хранятся вокруг, вызывая утечку памяти?
ответ
Если вы используете VisualVM
, вы можете использовать пару запросов OQL
для чтения данных в Java-куче, которые вы ищете. Одна команда, которая может удовлетворить ваши потребности:
select {instance: s, content: s.toString()} from java.lang.String s
where /java/(s.toString())
вы можете найти много больше здесь: https://visualvm.java.net/oqlhelp.html
Я моделируется это с небольшим приложением Spring загрузки и Eclipse Memory Analyzer. Дамп кучи был создан из MAT, но вы также можете открыть кучу кучи, который вы уже создали.
При открытии дампа кучи MAT автоматически показывает вам подозревает, которые используют много памяти:
При открытии детали вы можете увидеть String
экземпляров и их значения (отмечены желтым цветом в моем скриншоте) в разделе под названием Accumulated Objects in Dominator Tree
Краткое примечание: вы можете запустить OQL изнутри ВСУ тоже:
- 1. NSStream.getStreamsToHostWithName вызывая утечку памяти
- 2. Как проверить утечку памяти в Java
- 3. Как проверить на утечку памяти
- 4. Как проверить, какие блокировки хранятся в таблице
- 5. Как найти утечку памяти Java
- 6. Как найти утечку памяти Java
- 7. Как проверить, какие файлы хранятся в iCloud?
- 8. Анализ строки заменить утечку памяти
- 9. Использования PERMESSAGE_DEFLATE вызывая нативную утечку памяти в JETTY9.3.11
- 10. как исправить утечку памяти?
- 11. Как создать утечку памяти?
- 12. Как уменьшить утечку памяти в java?
- 13. Tomcat 8 утечку памяти
- 14. Как строки хранятся в модели памяти python
- 15. С уважением, как проверить утечку памяти в моем веб-приложении?
- 16. Как исправить утечку памяти?
- 17. Как заблокировать утечку памяти?
- 18. Как предотвратить утечку памяти
- 19. Как остановить утечку памяти?
- 20. Как хранятся объекты в памяти - Java (C++)
- 21. Как отслеживать утечку памяти COM
- 22. Weird утечку памяти
- 23. Как хранятся строки C++?
- 24. Entitymanager вызывает утечку памяти?
- 25. BHO утечку памяти
- 26. СвойствоChangedEventHandler вызывает утечку памяти
- 27. Изменение размера динамической строки вызывает утечку памяти
- 28. SDL_TTF Нанесение int на утечку памяти строки?
- 29. Я нашел, какие объекты вызывают утечку памяти, что теперь?
- 30. удалить строки из UITableView вызывает утечку памяти
Это выглядит полезно! Могу ли я задать вопрос с вопросом, где выполнить этот запрос? Есть ли консоль, встроенная в JVisualVm или что-то в этом роде? –
@OneTwoThree: есть и командная строка, и визуальные инструменты, вы можете увидеть полную документацию на своем веб-сайте. это очень полезный инструмент – Pooya