У нас есть сервер приложений Java, установленный на тестовом сервере нашего клиента. Внутри сервера приложений ряд потоков обращается к файловой системе разными способами. Серверы приложений запускаются как служба. Через несколько часов, иногда до суток, файловая система, кажется, становится недоступной для этих потоков. При просмотре соответствующих папок / каталогов в файловой системе они все еще присутствуют, имеют правильные права доступа и не имеют монопольных блокировок. Это возможно? Какие-нибудь предложения по поводу подсказок, которые мне следует искать? Наиболее вероятные причины?
Рассматриваемая операционная система - Windows 2003 (Service Pack 2) с 32-битным процессором. Файловая система NTFS JRE 1.6
Возможно, вы столкнулись с ограничением файла для каждого процесса, возможно, потому, что процесс неправильно удаляет использованные объекты. Как указывает @jay, ProcessExplorer может помочь раскрыть это, а Process Monitor (еще один прекрасный инструмент SysInternals) может отслеживать процесс создания и удаления объектов. Если это ваша проблема, Process Explorer должен показывать еще больше открытых дескрипторов.
Пределы дескрипторов в Windows довольно либеральны, поэтому, вероятно, это ошибка, из-за которой объекты не удаляются правильно.
Я бы предложил использовать ProcessExplorer для поиска процессов, у которых есть дескриптор проблемных файлов, и их возврата оттуда.
Я бы рискнул предположить, что ваше приложение где-то дырявое.