гагатовая стрельба проблемы катастрофического отказа

Никогда не переделывал EC2, но мои 2 цента,

От Вашей Виртуальной клиентской машины сделайте a ping ad или ping ad.chigs.me, если его способное для проверки с помощью ping-запросов, то это означает, что сервер и клиент достижимы.

Также проверьте подсеть и другие параметры сети, чтобы гарантировать, что они оба находятся в той же сети

Причем другая проблема COnnection Specific DNS Suffix и DNS Suffic search order

0
задан 12 November 2013 в 18:51
3 ответа

Thanks to your quick answer. I tried jetty-9.0.6, jetty-9.0.5 and jetty-8.1.14. All of the above got the same problem.

dumpBeforeStop, it's valid config in jetty.xml. The default value is false, I agree it is nothing do with server crashes if it works only when graceful shutdown. OutOfMemoryError is not the case here. I turn on -XX:-HeapDumpOnOutOfMemoryError. No dump file is generated when crashes.

I tried removing all jvm options because I want to use a clean default settings to run jetty to see any differences.

The problem right now is, the jvm crashes randomly without any hs file or any useful error message. If something cannot be handled by jetty, there should be error in stderr / stdout.

If something cannot be handled by the jvm, there should be a hotspot file. Sadly it just crash silently.

I tried turn on jetty debug mode last night and found it crash again this monring. It is the last few lines of log before crash:

2013-11-13 06:26:00.891:DBUG:oejsh.ContextHandler:scope /||/article.jsp @ o.e.j.w.WebAppContext{/,file:/tmp/jetty-0.0.0.0-8080-put2012.war--xxx.xx-/webapp/,xxx.xx},/home/ec2-user/jetty/webapps/put2012.war 2013-11-13 06: 26: 00.891: DBUG: oejsh.ContextHandler: context = || /article.jsp @ oejwWebAppContext {/, файл: /tmp/jetty-0.0.0.0-8080-put2012.war- -xxx.xx- / webapp /, xxx.xx}, / home / ec2-user / jetty / webapps / put2012.war 2013-11-13 06: 26: 00.891: DBUG: oejs.session: ses sionManager = org.eclipse.jetty.server.session.HashSessionManager @ 1acc0e01 2013-11-13 06: 26: 00.891: DBUG: oejs.session: session = null 2013-11-13 06: 26: 00.891: DBUG: oejs.ServletHandler: servlet | /article.jsp | null -> jsp 2013-11-13 06: 26: 00.891: DBUG: oejs.ServletHandler: цепочка = null 2013-11-13 06: 26: 00.894: DBUG: oejs.session: новый сеанс и идентификатор 1hva53vl2jfs9m6voqnqdamyj 1hva53vl2jfs9m6voqnqdamyj 2013-11-13 06: 26: 01.885: DBUG: oejw.WebAppClassLoader: загруженный класс com.sun.mail.handlers.text_plain из WebAppClassLoader = put2012 @ 3ef07355 2013-11-13 06:26:01.885:DBUG:oejw.WebAppClassLoader:loaded class com.sun.mail.handlers.text_plain from WebAppClassLoader=put2012@3ef07355

You can see there is no hints why it crashes.

Without the corpse, I have nothing to inspect why it was killed.

I tried thread dump by jstack and nothing abnormal. It will be only useful when dumping thread at the moment of crash.

0
ответ дан 4 December 2019 в 17:58

Здесь много тем ..

Во-первых, какая версия Jetty 9? (будьте конкретны! отредактируйте свой вопрос, указав эти детали)

dumpBeforeStop = TRUE , который вы упомянули, не является известной конфигурацией Jetty. Если вы имеете в виду свойство запуска jetty.dump.stop = true , то оно предназначено для сброса состояния дерева сервер + обработчик во время формального / постепенного завершения работы. Это не имеет ничего общего с памятью сервера или сбоями сервера.

Если вы хотите увидеть дамп дерева сервера и обработчика, не останавливая сервер, вы можете использовать либо свойство запуска jetty.dump.start = true или включите JMX и получите доступ к MBean org.eclipse.jetty.server: type = server, id = 0 и используйте операцию dump () .

OutOfMemoryError может возникают по разным причинам. (Ты не t вставьте полное сообщение об ошибке и трассировку стека, чтобы сузить причину). Это может произойти из-за недостаточной кучи, перманента, потоков, дескрипторов файлов и т.д. слишком мало взгляда на то, что происходит. У вас могло быть одно действие, которое пыталось выделить 4 ГБ, которое не отображалось в GC, но все равно вызывало OutOfMemoryError. У вас может быть сценарий, в котором сервер пытается выделить новый поток, но ОС предотвратила это, что также вызовет ошибку OutOfMemoryError: Failed to Create Thread

Switching Jetty или версии JVM не повлияют на OutOfMemoryError .

«Удаление всех параметров JVM» также не может иметь никакого эффекта, в зависимости от того, как вы настроили вашу Jetty, что вы не указали в своем вопросе.

В зависимости от вашей конкретной версии Jetty запуск отличается. (например: Jetty 7/8 / 9.0 vs Jetty 9.1)

В зависимости от конкретной методики установки Jetty, ваш запуск может отличаться. (например: автономный или встроенный, из официального распространения Jetty, из дистрибутива / упаковки linux, из пакета облачного провайдера, изолированной или unixfied структуры каталогов, разделения jetty.home против jetty.base, запуска службы против оболочки против cron, сценария оболочки или java командная строка, нет start.ini vs start.ini и / или start.d, и т. д.)

Короче говоря, ваш вопрос верный, но расплывчатый, количество возможных путей получения совета для вас слишком велико (на основе по предоставленной вами ограниченной информации)

который вы не указали в своем вопросе.

Запуск зависит от конкретной версии Jetty. (например: Jetty 7/8 / 9.0 vs Jetty 9.1)

В зависимости от конкретной методики установки Jetty, ваш запуск может отличаться. (например: автономный или встроенный, из официального дистрибутива причала, из дистрибутива / упаковки Linux, из пакета облачного провайдера, изолированной и нефиксированной структуры каталогов, разделения jetty.home на jetty.base, запуска службы против оболочки против cron, сценария оболочки или java командная строка, нет start.ini vs start.ini и / или start.d, и т. д.)

Короче говоря, ваш вопрос верный, но расплывчатый, количество возможных путей получения совета для вас слишком велико (на основе по предоставленной вами ограниченной информации)

который вы не указали в своем вопросе.

Запуск зависит от конкретной версии Jetty. (например: Jetty 7/8 / 9.0 против Jetty 9.1)

В зависимости от конкретной методики установки Jetty, ваш запуск может быть другим. (например: автономный или встроенный, из официального распространения Jetty, из дистрибутива / упаковки linux, из пакета облачного провайдера, изолированной или unixfied структуры каталогов, разделения jetty.home против jetty.base, запуска службы против оболочки против cron, сценария оболочки или java командная строка, нет start.ini vs start.ini и / или start.d, и т. д.)

Короче говоря, ваш вопрос верный, но расплывчатый, количество возможных путей получения совета для вас слишком велико (на основе по предоставленной вами ограниченной информации)

1)

В зависимости от конкретной методики установки Jetty, запуск может отличаться. (например: автономный или встроенный, из официального дистрибутива причала, из дистрибутива / упаковки Linux, из пакета облачного провайдера, изолированной и нефиксированной структуры каталогов, разделения jetty.home на jetty.base, запуска службы против оболочки против cron, сценария оболочки или java командная строка, нет start.ini vs start.ini и / или start.d, и т. д.)

Короче говоря, ваш вопрос верный, но расплывчатый, количество возможных путей получения совета для вас слишком велико (на основе по предоставленной вами ограниченной информации)

1)

В зависимости от конкретной методики установки Jetty, ваш запуск может отличаться. (например: автономный или встроенный, из официального дистрибутива причала, из дистрибутива / упаковки Linux, из пакета облачного провайдера, изолированной и нефиксированной структуры каталогов, разделения jetty.home на jetty.base, запуска службы против оболочки против cron, сценария оболочки или java командная строка, нет start.ini vs start.ini и / или start.d, и т. д.)

Короче говоря, ваш вопрос верный, но расплывчатый, количество возможных путей получения совета для вас слишком велико (на основе по предоставленной вами ограниченной информации)

0
ответ дан 4 December 2019 в 17:58

Наконец, я решил эту проблему, добавив память подкачки.

AMI по умолчанию из экземпляра amazon t1.micro не имеет памяти подкачки, Я следую этому сообщению , чтобы создать пространство подкачки 1G. JVM может быть запущен в течение недели.

1
ответ дан 4 December 2019 в 17:58

Теги

Похожие вопросы