Я согласен с Джоном, что вы должны использовать kill -3, чтобы получить дамп потока. Я нашел Анализатор дампов , полезный для просмотра дампов потоков.
Вы также должны взглянуть на использование памяти процессом, используя top. Похоже, приложение исчерпало кучу места? Если это так, вы можете попробовать использовать инструмент jmap , чтобы получить дамп кучи и / или количество гистограмм объектов в куче. Вам может понадобиться использовать опцию -F, если приложение действительно зависло, и у меня были случаи, когда jmap просто не работал бы с зависшим процессом Java. Получив дамп кучи, вы можете использовать Eclipse Memory Analyzer для его исследования.
Вы не упоминаете, есть ли в вашем приложении логирование. Если нет, вы должны изучить возможность добавления журналов, которые могли бы помочь отладить производственные проблемы.