2016-02-12 6 views
0

У меня есть приложение Java EE, которое отлично работает с wildfly 8.2.0, но после нескольких дней работы есть много открытых файлов (170000+). После проверки системы с помощью «lsof» я нашел для многих строк с открытыми библиотеками (файлы jar).Wildfly: Многие открытые библиотеки

Например:

lsof | grep "wildfly-jpa-8\.2\.0\.Final\.jar" | wc -l 
or 
lsof | grep "wildfly-batch-8\.2\.0\.Final\.jar" | wc -l 

Это дает мне 216 строк.

lsof | grep "\.jar" | wc -l 

Вернулся 97092 линий.

Это не может быть нормально. В настоящее время я не могу воспроизвести это поведение. Страница очень часто используется, поэтому я запускаю jmeter на тестовом сервере с той же настройкой со 100 потоками, которые перемещаются по странице в течение часа, но открытые файлы не увеличили более 65000 открытых файлов для всей системы (lsof | wc -l).

+0

Try с http://file-leak-detector.kohsuke.org/ –

+0

разобранном развертывания? – ctomc

+0

Я перенес последние дни в Wildfly 9.0.2, и проблемы, похоже, исправлены. Но я буду ждать несколько дней и следить за системами. – gregor

ответ

0

Некоторые версии lsof включают идентификатор потока. Это может быть определено заголовком столбца TID, видимым на выходе. Такой вывод приведет к дублированию записей, поскольку lsof потенциально будет показывать дублированные записи по одному для каждого потока.

https://support.datastax.com/hc/en-us/articles/209826153-lsof-shows-Cassandra-is-holding-a-large-amount-of-files-open