Перейти к содержанию

Анализ загрузки процессора

В некоторых случаях возникает необходимость выяснить, какой именно поток (thread) и на сколько загружает процессор сервера. Для этого:

  1. Определите идентификатор процесса (pid) WCS при помощи команды

    pgrep -fn com.flashphoner.server.Server
    
    или
    top
    

  2. Получите информацию о потоках процесса при помощи jstack

    jstack 4240 >> 4240.jstack
    
    Здесь 4240 - pid процесса WCS, полученный на шаге 1.
    Файл, полученный в результате выполнения команды, будет следующим

    Здесь можно просмотреть статусы потоков, а также их идентификаторы в шестнадцатиричном виде в поле 'nid'

  3. Выполните команду

    top -H -p 4240
    
    Здесь 4240 - pid процесса WCS, полученный на шаге 1.
    На консоль будут выведены потоки процесса и потребление ими процессора и памяти

    В колонке 'PID' указаны идентификаторы потоков в десятичном виде. По этому идентификатору можно найти поток в файле, полученном на шаге 2, и определить его имя.