Потоки — абстракция программирования для параллельного выполнения в операционных системах, они обеспечивают распараллеливание внутри программы, эти потоки совместно используют определенные ресурсы (например, адресное пространство памяти, открытые файлы) разделяя между собой.
Просмотр информации по потокам позволяет просматривать детали по потреблению ресурсов, например, использование ЦП/памяти.
В Linux потоки (LWP), созданные в рамках программы, будут иметь тот же "идентификатор группы потоков", что и PID программы.
Для планировщика ядра Linux потоки — это не что иное, как стандартные процессы, которые совместно используют определенные ресурсы.
Просмотр потоков процесса в ps
В команде ps параметр -T включает просмотр потоков. Следующая команда выводит список всех потоков, созданных процессом с <pid>.
1 | ps -T -p <pid> |
В SID идентификаторы потоков, а CMD — имена потоков.
Просмотр потоков процесса в top
Команда TOP может показывать потоки приложения при запуске с ключом -H. Так же, можно отобразить поток нажав клавишу H.
1 | top -H |
Что бы ограничить вывод только одним процессом, используется параметр -p
1 | top -H -p |
Просмотр потоков процесса в htop
Более удобный способ, это использование утилиты htop. Они позволяет отслеживать потоки в древовидном представлении.
Чтобы включить просмотр потоков в htop, запустите htop и нажмите , чтобы войти в меню настройки htop. Выберите параметр "Display option" в столбце "Setup" и включите параметры "Three view" и "Show custom thread names". Нажмите F10, чтобы выйти из режима настройки.