htop - что такое задача, поток и работа?
Htop дает мне следующий вывод:
Значения не изменились за последние минуты.
Поэтому мне интересно, в чем разница между "заданием", "потоком" и "выполнением"?
Я посмотрел на эту страницу: http://www.deonsworld.co.za/2012/12/20/understanding-and-using-htop-monitor-system-resources/ но она пропускает эту конкретную часть:(
Из того, что я знаю об использовании моего сервера, я бы сказал:
- У нас есть 10 процессов, которые делятся на 59 задач, и 160 потоков...
Я действительно не понимаю различий между каждым из них: - /
Есть объяснения?
Это также странно, потому что есть десятки процессов:
2 ответа
Вы почти правильно поняли.:)
Может быть в списке десятки процессов (или задач), но только 10 "потоков" фактически "работают" на процессоре. Остальные процессы и потоки "спят", пока ОС не планирует их использование ЦП.
Итак, есть 59 задач, некоторые из которых разбиты на 160 потоков, но только 10 потоков выполняются на процессоре.
htop
задачи — это просто процессы . Они перечислены в главном окне белым цветом (нажмитеShift-H
чтобы скрыть потоки пользовательских процессов , которые выделены зеленым цветом). Чтобы посчитать их, вам следует выполнить что-то вродеps axjf | grep --invert-match '^[ ]*2 ' | wc --lines
, то есть вам придется исключить потоки ядра изps
вывод (их родительскийkthreadd
, и поэтому их PPID равен 2).
Кроме того, в исходном коде вы можете видеть , что задачи подсчитываются как количество всех процессов и потоков минус потоки ядра и минус потоки пользовательской среды.
Количествоrunning
задач рассчитывается путем сканирования
/proc
, и в любой момент не может быть больше общего количества ядер ЦП в системе (поэтому это совершенно бесполезное число в слабой системе; например, я почти всегда вижу «2» на своем двухъядерном ноутбуке).