Почему при парковке / разгрузке используется 60% процессорного времени?
Недавно мы начали стресс-тестирование нашего приложения (сервера чата на основе XMPP) с использованием YJP 11.0.9. Во время нашего теста мы заметили следующее странное поведение.
Выборка показывает, что sun.misc.Unsafe.unpark (Object) занимает 60% процессорного времени.Для того же приложения трассировка показывает, что LockSupport.park (Object) занял 52% процессорного времени.Я сделал несколько тестов, чтобы подтвердить результаты, и каждый раз, когда я получал похожие результаты.
Я не могу понять, почему распаковка должна занимать 60% времени и почему отслеживание показывает совершенно противоположные результаты.
Может кто-нибудь помочь мне понять эти результаты. Я что-то здесь упускаю?
Среда:
java -version java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)