Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> tomcat java.lang.OutOfMemoryError: Java heap spac, проблема с работой томкат 
:(
    Опции темы
revelc
Дата 9.5.2008, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Вобщем суть проблемы такова есть машина на ней 1gb памяти стоит tomcat 5.5 система ubuntu 7.10

tomcat работает приблизительно 12 часов после этого случается ужасное.1. Вываливается ошибка:

В настройках tomcat прописано JAVA_OPTS="-Djava.awt.headless=true -Xmx512M"

Давно ищу решение проблемы не могу найти

Как вариант думал сделать рестарт tomcat через crontab каждые 3 часа не получается почемуто 2. Вываливается ошибка:

1. Вываливается ошибка:
java.lang.OutOfMemoryError: Java heap space
        at sun.util.resources.TimeZoneNamesBundle.createMap(TimeZoneNamesBundle.java:77)
        at sun.util.resources.OpenListResourceBundle.loadLookup(OpenListResourceBundle.java:110)
        at sun.util.resources.OpenListResourceBundle.loadLookupTablesIfNecessary(OpenListResourceBundle.java:97)
        at sun.util.resources.OpenListResourceBundle.handleGetObject(OpenListResourceBundle.java:58)
        at sun.util.resources.TimeZoneNamesBundle.handleGetObject(TimeZoneNamesBundle.java:59)
        at java.util.ResourceBundle.getObject(ResourceBundle.java:378)
        at java.util.ResourceBundle.getObject(ResourceBundle.java:381)
        at java.util.ResourceBundle.getStringArray(ResourceBundle.java:361)
        at sun.util.TimeZoneNameUtility.retrieveDisplayNames(TimeZoneNameUtility.java:100)
        at sun.util.TimeZoneNameUtility.retrieveDisplayNames(TimeZoneNameUtility.java:81)
        at java.util.TimeZone.getDisplayNames(TimeZone.java:399)
        at java.util.TimeZone.getDisplayName(TimeZone.java:350)
        at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1093)
        at java.text.SimpleDateFormat.format(SimpleDateFormat.java:882)
        at java.text.SimpleDateFormat.format(SimpleDateFormat.java:852)
        at java.text.DateFormat.format(DateFormat.java:316)
        at org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate(FastHttpDateFormat.java:110)
        at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1595)
        at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:967)
        at org.apache.coyote.Response.action(Response.java:181)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:573)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314)
        at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:278)
        at org.apache.catalina.connector.Response.finishResponse(Response.java:484)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:154)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at java.util.ResourceBundle.getStringArray(ResourceBundle.java:361)
        at sun.util.TimeZoneNameUtility.retrieveDisplayNames(TimeZoneNameUtility.java:100)
        at sun.util.TimeZoneNameUtility.retrieveDisplayNames(TimeZoneNameUtility.java:81)
        at java.util.TimeZone.getDisplayNames(TimeZone.java:399)
        at java.util.TimeZone.getDisplayName(TimeZone.java:350)
        at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1093)
        at java.text.SimpleDateFormat.format(SimpleDateFormat.java:882)
        at java.text.SimpleDateFormat.format(SimpleDateFormat.java:852)
        at java.text.DateFormat.format(DateFormat.java:316)
        at org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate(FastHttpDateFormat.java:110)
        at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1595)
        at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:967)
        at org.apache.coyote.Response.action(Response.java:181)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:573)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314)
        at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:278)
        at org.apache.catalina.connector.Response.finishResponse(Response.java:484)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:154)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
java.lang.OutOfMemoryError: Java heap space




Как вариант думал сделать рестарт tomcat через crontab каждые 3 часа не получается почемуто 2. Вываливается ошибка:
2. Вываливается ошибка:
08.05.2008 6:13:18 org.apache.coyote.http11.Http11BaseProtocol start SEVERE: Error starting endpoint java.net.BindExc$
May  8 06:13:18 mail jsvc.exec[31870]: eflect.Method.invoke(Method.java:597) ^Iat org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) ^Iat sun.r$
May  8 06:13:19 mail jsvc.exec[31870]: 08.05.2008 6:13:18 org.apache.catalina.startup.Catalina start SEVERE: Catalina.start:  LifecycleException:  service.g$
May  8 06:13:19 mail jsvc.exec[31870]: reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ^Iat java.lang.reflect.Method.invok$
May  8 06:13:19 mail jsvc.exec[31870]: 08.05.2008 6:13:19 org.apache.catalina.startup.Catalina start INFO: Server startup in 6555 ms
May  8 06:19:01 mail jsvc.exec[31870]: 08.05.2008 6:19:01 org.apache.coyote.http11.Http11BaseProtocol pause INFO: Pausing Coyote HTTP/1.1 on http-8180 08.05$
May  8 06:19:01 mail jsvc.exec[31870]: .reflect.NativeMethodAccessorImpl.invoke0(Native Method) ^Iat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho$
May  8 06:19:02 mail jsvc.exec[31870]: 08.05.2008 6:19:02 org.apache.catalina.core.StandardService stop INFO: Stopping service Catalina
May  8 06:19:03 mail jsvc.exec[31870]: 08.05.2008 6:19:03 org.apache.catalina.connector.MapperListener destroy WARNING: Error unregistering MBeanServerDeleg$
May  8 06:19:03 mail jsvc.exec[31870]: t sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ^Iat java.lang.reflect.Method$
May  8 06:19:03 mail jsvc.exec[31870]: 08.05.2008 6:19:03 org.apache.coyote.http11.Http11BaseProtocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8180
May  8 06:19:03 mail jsvc.exec[31870]: 08.05.2008 6:19:03 org.apache.catalina.connector.Connector stop SEVERE: Coyote connector has not been started
May  8 06:19:03 mail jsvc.exec[31870]: 08.05.2008 6:19:03 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: Failed shutdown of Apache Porta$
May  8 06:19:09 mail jsvc.exec[32016]: java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap (Unsupported major.minor version 49.0)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.lang.ClassLoader.defineClass0(Native Method)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.lang.ClassLoader.defineClass(ClassLoader.java:539)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.net.URLClassLoader.access$100(URLClassLoader.java:55)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.net.URLClassLoader$1.run(URLClassLoader.java:194)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.security.AccessController.doPrivileged(Native Method)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.net.URLClassLoader.findClass(URLClassLoader.java:187)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.lang.ClassLoader.loadClass(ClassLoader.java:289)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat java.lang.ClassLoader.loadClass(ClassLoader.java:235)
May  8 06:19:09 mail jsvc.exec[32016]: ^Iat org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:107)
May  8 06:19:09 mail jsvc.exec[32016]: Cannot load daemon


Помогите не знаю че делать

PM MAIL   Вверх
Kangaroo
Дата 9.5.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(revelc @  9.5.2008,  05:32 Найти цитируемый пост)
tomcat работает приблизительно 12 часов после этого случается ужасное.1. Вываливается ошибка:

Надо разобраться, что кушает память, а потом не отпускает ее. Может JConsole такое позволяет, попробуй.


--------------------
Lost....
PM MAIL MSN   Вверх
Aoli
Дата 9.5.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2007

Репутация: -1
Всего: 0



Это известная утечка памяти в sun jvm из-за ошибки в класслоадере.

У нас после 12ти дневной работы сервера с 4мя гигами памяти под sun jvm 1.5.0_11 кончалась память.
Рекомендую попробовать другую jvm, например jikes или от ibm.
Мы перешли на jikes, хоть он и платный. Сервер тьфу-тьфу-тьфу 3ий месяц работает.
PM WWW ICQ   Вверх
Zamuta
Дата 9.5.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



revelc, дебажить не пробовали? Как сказали выше смотрите через JConsole .


Aoli, это теперь на всех sun jvm 1.5.0_11 через 12 дней память кончается  smile ? Если криво написано... сами понимаете.


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
Aoli
Дата 9.5.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2007

Репутация: -1
Всего: 0



Zamuta, если постоянно загружаются Коллекции  сервер стоит под хорошей нагрузкой, то да.
Прежде чем говорить о кривости чьего-то кода в следующий раз рекомендую подумать и почитать что-нибудь по теме, например http://blogs.sun.com/fkieviet/entry/classl...he_dreaded_java и http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6287811 .
PM WWW ICQ   Вверх
sidslog
Дата 12.5.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 25.10.2006
Где: Москва

Репутация: нет
Всего: нет



PM MAIL ICQ GTalk   Вверх
revelc
Дата 16.5.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.5.2008

Репутация: нет
Всего: нет



Огромное спасибо за отзывы ао теме вобщем на счет кривости кода могусказать что он не идеален но могу сказать точно что утечка памяти происходит походу в самой jvm sun к стати вот что еще помогает на некоторое время такая фича только ее очень сложно пробить когда надо вставлять если код огромный .Нужно найти в каком месте произошла ошибка и сделать в этом месте try где в catch написать system.gs(); -принудительно запустить сборщик мусора.

Еще вот что пришлось сделать в ubuntu 7.10 tomcat из репозитория еще просит устоновить tomcat-webapps -вот собственно изза етого у меня его и не получалось рестартовать через cron я откатил томкат до 5 версии и все сразу заработало рестарт каждые 3 часа.

Если у кого получилось победить java.lang.OutOfMemoryError: Java heap spac напишите как плиз . И вам точно поставят памятник при жизни.
PM MAIL   Вверх
Maksym
Дата 16.5.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



revelc
Dump смотреть пробовали, через HeapAnalyzer? Полезная инфа по теме: HeapAnalyzer OverviewUsing IBM HeapAnalyzer to analyze Java heap usage and detect possible Java heap leak.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1068 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.