Java убить 3 потока перенаправления вывода дампа

Можно ли перенаправить kill 3 <java_pid> вывод дампа потока?

У меня огромные файлы system_out.log на серверах с множеством строк (>500 МБ), очень сложно разобрать и найти дамп.

2 ответа

Пожалуйста, добавьте следующие аргументы JVM в ваше приложение. Дамп потока должен быть записан в dump.log.

-XX: + UnlockDiagnosticVMOptions -XX: + LogVMOutput -XX: LogFile = dump.log

Обратите внимание, что он не перенаправляет, но включает ведение журнала диагностики JVM. Так что, возможно, и над головой.

Как предложил Мэтт, вы можете использовать jstack (и т. Д.) Для захвата дампа потока в файл. Для этого вы можете просто скопировать каталог JDK на вашем сервере. Но если вы хотите упаковать и отправить JDK вместе с вашим приложением (для последующей отладки), пожалуйста, проверьте, есть ли какие-либо последствия для лицензирования или нет.

Вместо того, чтобы пытаться понять, как перенаправить, просто используйте инструмент, который делает то, что вы хотите. Любой из этих:

Другие вопросы по тегам