2016-06-22 2 views
0

Наше корпоративное приложение, развернутое в Jboss wildfly 8.2. Журнал консоли jboss устанавливается во время запуска с использованием переменной среды - JBOSS_CONSOLE. Это гарантирует, что любой дамп потока, запускаемый с использованием kill -QUIT, сбрасывается в jboss_console.log. Статистика GC (собранная с использованием -XX: + PrintGCTimeStamps -XX: + PrintGCDetails) также отправляется в этот файл.Размер файла журнала консоли jboss влияет на производительность сайта

Вращение файла журнала осуществляется

кота/DEV/нулевому> jboss_console.log

Даже если это приносит вниз размер файла, на запуск дамп потоков, используя, увеличивается размер файла (размер файла перед вращением + размер нового дампа потока). Таким образом, размер файла не уменьшается, если мы не перезапустим jboss и явно не удалим файл.

Также имеется четкое несоответствие в выводах команд du & ls.

[корневые журналы @ MYSERVER] # дю -csh jboss_console.log

28M jboss_console.log

28М всего

[корень @ MYSERVER журналы] # Ls -lrtS jboss_console .log -h

-rwxr-xr-x. 1 admin admin 1.7G Jun 22 05:28 jboss_console.log

Проблема в том, что после месяца перезапуска jboss операции файловой системы замедляются до одной десятой. То есть если бы у меня был простой статический текстовый файл размером 1 ГБ, размещенный в моем Apache, загрузка его в мой локальный ящик выполнялась бы, например, через 3 минуты. Но через месяц такая же операция занимает 30 минут. При перезапуске jboss проблема немедленно устраняется. В системе нет значительного процессора, памяти или всплеска ввода-вывода.

Это связано с размером jboss_console.log?

ответ

0

Я предполагаю, что здесь jboss_console.log создан трубопроводом stdout и stderr потоками процесса. Если это так, то проблема, вероятно, на уровне ОС.

По умолчанию обработчик CONSOLE будет регистрироваться только на System.out. Если размер журнала является проблемой, вы можете просто удалить или отключить обработчик CONSOLE, так как server.log будет содержать ту же информацию.

Чтобы удалить обработчик CONSOLE из корневого регистратора, вы можете использовать следующую команду CLI.

/subsystem=logging/root-logger=ROOT:remove-handler(name=CONSOLE) 

Я не уверен, что это на самом деле ответить на ваш вопрос, но это один вариант, чтобы сохранить размер jboss_console.log немного вниз.

Смежные вопросы