LINUX.ORG.RU

Apache Tomcat и SIGABRT

 , ,


0

1

Ситуация вкратце:
Есть веб-сервис на Apache Tomcat + Spring Boot с не самым большим показателем rps и есть примитивный вотчдог, что смотрит на наличие бинда к порту - ss -tupln | grep 8080 | wc -l, и если что посылает мне уведомление и сам перезапускает сервис. В последнее время я стал получать не одно сообщение за день, что этот веб-сервиc был перезапущен. При этом никаких ошибок OOM ни в логе Tomcat, ни в логе ядра я не нашел. Дампов JVM так же нет. Но просмотрев аудит я обнаружил это - type=ANOM_ABEND msg=audit(1744781861.055:302078): auid=1003 uid=1003 gid=1003 ses=19065 pid=5866 comm="http-nio-8080-e" reason="memory violation" sig=6. При этом по логу Tomcat видно, что он продолжает выполнять фоновые задачи.

Ситуация с памятью:

$ free -h
total        used        free      shared  buff/cache   available
Mem:           3.7G        2.1G        543M         17M        1.0G        1.3G
Swap:          3.2G        221M        3.0G

$ grep -i "memory" /proc/30387/limits
Max locked memory         65536                65536                bytes

По итогу сумел договориться с админами на 256 Мб для Max locked memory. Но ошибки не прекратились. Сейчас включил - ulimit -c unlimited и надеюсь, что создастся дамп ядра.

Подскажите с чего начать решение проблемы, что читать? Кто вообще вызывает SIGABRT?

Флаги JVM:
-Xmx1024m -Xms768m -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=128M -XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOST_APP_DIR}/oom_heapdump.bin -XX:+ExitOnOutOfMemoryError -XX:+CrashOnOutOfMemoryError.



Последнее исправление: BratecLis (всего исправлений: 1)

CrashOnOutOfMemoryError - вероятно этот флаг вызывает. Памяти не хватает. Надо установить больше памяти или оптимизировать приложение. В логах должен быть OutOfMemoryError где-то перед крашем, можно посмотреть, если сильно интересно.

Можно попробовать -Xmx1024m поменять на -Xmx2000m

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от vbr

Спасибо за ответ и совет! Я первый раз такое вижу, но в логах Tomcat нет OOM. Директория дампов то же пуста. Приложение не падает, только перестает отвечать на HTTP-запросы (очевидно, ведь http-nio-8080-e умер), до тех пор пока вотчдог не заметит и не перезапустит. Не давно еще Metaspace места не хватало, но в этом случае был дамп. По идее Metaspace должен без проблем увеличиваться, но скурвился на 69 Мб.

BratecLis
() автор топика

Lol, so typical java.

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.