Нахождение количества переключений контекста и времени ожидания очереди процесса

Я наблюдаю (основываясь на журналах), что мой (Java) процесс приостанавливает что-то во время выполнения. Мое первое предположение - переключение контекста. Чтобы проверить, я пытаюсь найти (а) количество принудительных переключений контекста, которые выполняет мой процесс, и (б) количество времени, которое процесс проводит в очереди выполнения (готово к запуску, но ожидает планирования).

Есть ли инструменты для сбора этой информации. Я использую ядро ​​2.6.18 (centos 5) и 2.6.32 (centos6).

1 ответ

Чтобы просмотреть поведение переключения контекста в ОС, используйте:

vmstat 2 200

Когда сервер приложений запускается и вы видите подъем переключения контекста, ваша теория верна. Чтобы увидеть детали вокруг этих переключений контекста, вы можете использовать VisualVM. Это даст вам гораздо более подробное представление о потоках, времени передачи, ожидании и многом другом.

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