LINUX.ORG.RU

Влияние логов на производительность системы

 , , , ,


0

1

Всем привет.

Я не профессиональный админ, в линукс не так «прошарен». Но есть задача разобраться с падением приложения на Java 8, Tomcat, Oracle database.
Так вот, ситуация такая: приложение работает на ubuntu и со временем логи растут и приложение падает, хотя на диске всегда свободно 200+Гигабайт и кеш оперативной памяти очищается каждый час. Может ли быть какой-то предел роста логов? Надо ли их как-то ограничивать?
И какие есть методы грамотного расходования оперативки на линукс серверах?
Извиняюсь за общие вопросы, но в интернете информация вся разная и не структурированная, мне хотя бы на верный путь выйти и гуглить по каким-то ключевым словам.
Спасибо.


Тут может быть дело не в размере логов.

По поводу логов, тут вариантов масса, а принципе любой актуальный и не совсем умеют в ротацию логов, нужно больше данных о приложении: какой логгер используется? В корне приложения есть log4j.* или logback.* файлы?

Иногда причину падения можно увидеть в логах.

ma1uta ★★★ ()
Ответ на: комментарий от t184256

Когда приложение перезапускается, удаляются логи и всё работает, а падает оно именно когда логов много, это не моя идея, мне её подсказали =)
Сам сначала подумал, что путается причина и следствие, но мало ли, в сложных системах всегда может быть вероятность глупой ошибки.

n30 ()

У меня ещё такая проблема, что совсем не знаком с Java и не знаю за что браться при анализе падений, допускаю, что этим должен заниматься программист =) Понимаю, что первым делом наверное нужно изучать логи.
Нет среди присутствующих, практикующих администрирование java приложений, может есть какой 101 курс для полных нубов?

n30 ()
Ответ на: комментарий от n30

что за приложение? Во первых надо в логах и искать ошибки а не смотреть на их размер. Во вторых если имеешь доступ к сырцам понавтыкать там отладочных команд

anonymous ()

Господа, хочу внести немного ясности:

Я не утверждаю, что причина падений в размере лог-файлов и уже понял, что вероятно это в принципе не может быть причиной
Приложение клиент-серверное, есть несколько клиентских интерфейсов на которые передаются и с которых принимаются данные-это и сайт и андроид приложение
Помимо основного приложения есть ещё ряд сервисов типа firebase и email-sender
Почему-то пишется только catalina.out и localhost.log, а catalina.log и manager.log не пишутся совсем
Я бы мог использовать отладку, но совсем не знаю java и внутреннее устройство приложения, этим занимается отдельный человек, который вместе с этим совсем не знаком с linux, администрированием и настройкой того же tomcat

n30 ()
Ответ на: комментарий от n30

А в логах есть хоть варнинги? Если есть только информационные сообщения, то стоит покопаться в документации к классам как можно повысить уровень логгирования с помощью командлайн параметров.

anonymous ()
Ответ на: комментарий от anonymous

Варнинги есть:
WARNING [https-jsse-nio-48443-exec-5] org.apache.cxf.phase.PhaseInterceptorChain.doDefaultLogging Interceptor for {http://service.ws.bc/}MobileClientServiceService#{http://service.ws.bc/}getUserInfo has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Marshalling Error: java.net.SocketTimeoutException

n30 ()
Ответ на: комментарий от pisqotron5000

Как я понял, ранее имело место падение из-за высокого потребления памяти, но сейчас в кроне каждый час чистятся inode, dentrie и PageCache и памяти хватает.
Выглядит, конечно как костыль, но как это решить на уровне tomcat не знаю, в топе потребления оперативы, к слову процессы базы данных, хз что с этим делать.
Внятных гайдов как из терминала управляться с oracle db не нашёл.

n30 ()
Ответ на: комментарий от pisqotron5000

Что-то между админом и девопсом, по факту было так: «Ты вроде знаешь пару команд в линухе, помоги пожалуйста, тут что-то не работает» =)
Но мне уже самому интересно разобраться, на будущее

n30 ()
Ответ на: комментарий от n30

процессы базы данных, хз что с этим делать.

Ничего не делать, это кэш БД, для того, чтобы не дергать диски.

БД лучше знает, что ей кэшировать и кэширование обычно идет в обход дискового кэша

anonymous ()