2010-12-16 1 views
3

У нас есть производственная система Java, которая использует намного больше потоков, чем обычно. Я хотел бы использовать kill -3 pid, чтобы получить threaddump, и при необходимости получить двоичный сброс кучи, используя JConsole для автономного анализа в Eclipse MAT.Безопасность генерации потока на производственной системе

Я запускаю Java 1.5.0_10 на RHEL4.

Насколько вероятно, что любой из них убьет JVM? Как насчет неблагоприятного воздействия на его производительность при производстве свалок?

ответ

3

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

+0

Я предполагаю, что свалка нить намного дешевле в производстве, чем Heap Dump. Нужно ли даже приостанавливать работу виртуальной машины? – Rich 2010-12-16 13:17:27

+0

@Rich: Гораздо дешевле, да. Это все равно придется приостановить виртуальную машину, но это займет так мало времени, что вы этого не заметите. – skaffman 2010-12-16 13:18:48

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