Java Visual VM перекошенный процессор - PullRequest
2 голосов
/ 01 апреля 2011

Я пытаюсь проанализировать использование ЦП для приложения с пользовательским интерфейсом Java, работающего в Windows. Я подключил его к VisualVM, но, похоже, самый высокий процент использования процессора используется

sum.rmi.transport.tcp.TCPTransport$ConnectionHandler.run();

Я считаю, что это используется для предоставления информации в VisualVM, и, следовательно, VisualVM искажает результаты, которые я пытаюсь исследовать. Есть ли у кого-нибудь способ получить лучшее представление о том, что происходит, или лучший способ определить, что в работающем Java-приложении занимает так много ЦП.

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Попробуйте сначала использовать сэмплер.Для получения подробной информации используйте профилировщик и установите корневые методы.См. Профилирование с VisualVM, часть 1 и Профилирование с VisualVM, часть 2 для получения дополнительной информации о профилировании процессора и памяти.

0 голосов
/ 02 апреля 2011

Это звучит ужасно подозрительно. Попробуйте перекрестную ссылку на данные с результатами из hprof . Вам не нужно будет запускать какие-либо внешние приложения, и данные будут просто выгружаться в текстовый файл из вашего собственного процесса. Вы подключаетесь к своему процессу удаленно?

...