|
|
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Tomcat8 периодически падает из-за нехватки памяти. Сделали хипдамп, посмотрели через mat. Вот что показало Код: sql 1. 2. 3. 4. 5. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. кто может пояснить причины возникновения и подсказать пути решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2016, 21:47 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Вам надо узнать что держит класслоадер. Там если не ошибаюсь есть view который называется потенциальные проблемы. Ну и плюс посмотрите gc roots скорее всего все прояснится. Если куча небольшая, можете выложить тут и мы посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2016, 23:05 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
забыл ник, дамп http://rgho.st/8C5wD7zmz, попробую поставить на гласфише или другой версии томката. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2016, 23:56 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
http://rsdn.ru/forum/java/5974292.1 Там в коментах ещё ссылка на хороший доклад по теме. Я бы посмотрел дамп, но сейчас не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 10:18 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
AK1988Tomcat8 периодически падает из-за нехватки памяти. Сделали хипдамп, посмотрели через mat. Нет утечки памяти и слова "хипдамп". Есть нехватка памяти, а не утечка. Очевидно, Tomcat-у не так задан размер кучи, или выражаясь по-вашему, heap-а. А именно, в настройках JVM для Tomvat-а, параметр JAVA_OPTS, или задано -Xms40m или такое (слишком маленькое) значение первоначального размера heap-а явно не задано и выделяется автоматически (пропорционально объёму памяти в ПК). То есть, оно оказалось в 40 МБ, а нужно задавать больше (в зависимости от программ от 256 МБ до значения -Xmx). Но если Tomcat установлен как служба, то значения могут быть взяты из JvmOptions файла установки службы service.bat, например: --JvmMs 128 --JvmMx 256 (здесь значения в мегабайтах) Какое именно значение используется, можно посмотреть такой программой, как jconsole. Также использование памяти (менее подробно, но в данном случае достаточно) показывается программой Tomcat Manager в пункте Server Status. Предыдущий ответ не имеет отношения к теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 14:39 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Утечка ресурсов, в том числе и памяти - вполне могут быть. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 15:02 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Partisan M Плюсуюсь. При памяти в 40 Mb, подозревать утечку как-то странно. При том, что большая часть памяти съедена самим Tomcat'ом + либами и, если я правильно понял, приложение всего-то занимает меньше пол-мегабайта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 16:14 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Поставил гласфиш, так же падает. Это так пробный проект на такой вот vds http://ru.hetzner.com/hosting/produkte_vserver/cx10 (1gb ram) Включаю через скрипт, правда при падении томката не создается хипдамп, может с правами что не правильно, 1 пользователь - рут, для томката отдельно пользователя не создавал хз зачем он нужен если от рута запуск. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. catalina.out - томкат видит 256мб http://pastebin.ubuntu.com/16300185/ лог после OutOfMemory - показывает 512 http://pastebin.ubuntu.com/16300237/ Может еще что в логах важное не замечаю? Сейчас еще посмотрю через jvisual и нужно попробовать увеличить память за счет swap. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 16:41 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
# There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 178913280 bytes for committing reserved memory. # Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit В 1.8 java-писатели, что-то с Non Heap memory больно намутили. Раньше был Heap и PermGen, сейчас это поменяли. Аналогичная хрен была при попытке поставить на 1Gb AWS (Amazon) инстанс, лично я не разбирался, просто на AWS инстанс добавил своп. Хотя, конечно лучше со всеми ключиками-памяти разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 16:50 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, там ssd, поставил swap 2gb - vm.swappiness=10 vm.vfs_cache_pressure = 50, посмотрим что будет, теперь за jvisual. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 17:07 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
AK1988Tomcat8 периодически падает из-за нехватки памяти. Сделали хипдамп, посмотрели через mat. Вот что показало ... кто может пояснить причины возникновения и подсказать пути решения? Нет, в Java утечек памяти нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 20:45 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, сделав пару раз deploy и undeploy от некоторых классов нет остаточных объектов, например, ProductDaoImpl http://rgho.st/8z22RRZmH.view ,а от части классов остаются не удаленные объекты, например RoleToUserProfileConverter http://rgho.st/7wk6y7zjv.view жму на не удаленный объект, затем "Show Nearest GC Root" - все показывают одну строку http://rgho.st/7ngG7jTSL.view AbandonedConnectionCleanupThread. Добавил в конфиг томката classesToInitialize Код: sql 1. 2. Объект остается. Добавил лиснер Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Объект остается. Blazkowicz, как чинили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 20:57 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Если добавить фильтр или без добавления фильтра убрать из папки webapp/lib mysqlconnector, а оставить mysqlconnector только в ($TOMCAT_HOME)/lib, то gc уперается в AppContext http://rgho.st/7yd2jhN2b.view хз, что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 21:57 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 22:02 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
AK1988Если добавить фильтр или без добавления фильтра убрать из папки webapp/lib mysqlconnectorВозьмите за правило, что "глобальные" вещи должны быть исключительно в ${catalina.base}/lib. Библиотеки логирования и jdbc-драйверы - "безусловно глобальные". Практически это означает, что в WEB-INF/lib (WEB-INF/classes) должно быть только то, что обязано находиться только там, а из того, что не обязано - только то, что: а) является вашим кодом; б) часто меняется; Из всего этого так же следует, что настройкой среды для запуска сайта должен заниматься системный администратор хоста. Если сайтов более одного - сисадмин обязан использовать раздельные catalina.base для каждого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 22:14 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, спасибо! сейчас со свопом держится, если упадет, добавлю overcommit, но все-таки интересно решить проблему с редеплоем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 22:30 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
Не ленитесь корректно реализовывать методы init() / destroy() для каждого (своего) сервлета. С методом init(), в общем-то, понятно - любая инициализация должна быть там и только там, а не в (упаси боже) статических блоках, например. Метод destroy(), в свою очередь, должен устанавливать глобальный нестатический флаг завершения, который (в логически определённых местах) должны проверять методы service() и do_XXXX(). Желательно, чтобы destroy() отслеживал процесс завершения рабочих потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2016, 22:54 |
|
||
|
Утечка памяти, о чем говорит mat?
|
|||
|---|---|---|---|
|
#18+
вот тут много полезной инфы - http://java.jiderhamn.se/2012/03/04/classloader-leaks-vi-this-means-war-leak-prevention-library/ там же либа по устранению утечек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=97&tid=2124092]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 296ms |

| 0 / 0 |
