Развертывание в VisualVM - PullRequest
       30

Развертывание в VisualVM

9 голосов
/ 12 сентября 2008

Я только что установил Java 1.6_07, чтобы я мог попробовать профилирование с VisualVM. Он говорит мне, что мое приложение тратит 60% своего времени на sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run

Как мне узнать, что он делал в это время? Сколько времени он ждал, чтобы что-то позвонило, или сделал что-то еще? Что вызывало это и как оно вызывало? Кажется, я просто не могу найти способ углубиться в более глубокие уровни, как в Quantify или Perl profiler.

Ответы [ 4 ]

5 голосов
/ 09 октября 2008

У меня нет опыта работы с VisualVM - но профилировщик JRockit предоставляет эту информацию; Вы можете использовать его вместо этого.

Обновление: вопрос со списком профилей Java можно найти здесь , для пользователей с достаточным количеством повторений для просмотра удаленных вопросов.

3 голосов
/ 12 сентября 2008

Использует ли ваше приложение RMI поверх TCP? Если нет, возможно ли, что это гейзенбаг, вызванный инструментарием виртуальной машины? Я предполагаю, что VisualVM должен использовать вызовы RMI, чтобы выяснить, что происходит в JVM ....

1 голос
/ 18 мая 2011

Используя 1.3.2, я также вижу, что это зависание, о котором я сообщаю. В 1.3.2, если вы делаете дамп потока и ищете этот вызов, вы можете увидеть, где он находится в цепочке вызовов для этого потока. Не уверен, что Ювал Ф имел в виду это или что-то еще. Посмотрите цепочку вызовов, чтобы увидеть, что она вызывает, и так далее, посмотрите вниз, чтобы увидеть, как она вызывается, и так далее.

1 голос
/ 26 октября 2009

Я начал использовать новый VisualVM 1.2 . Это позволяет профилировать ЦП и детализацию с использованием графа вызовов. Попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...