Назад | Перейти на главную страницу

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

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

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

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

vmstat 2 200

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