Использование процессорных и потоковых процессоров в Linux top
Мы только что обнаружили особенность инструмента "top" в Linux.
Особенность заключается в том, что суммарное время процессора для всех потоков меньше, чем время, отображаемое для всего процесса. Это наблюдается, когда наше приложение порождает более 50 потоков и работает в течение нескольких минут.
Итак, вопрос: что это дополнительное время потребляет не какой-либо поток, а сам процесс? Как это возможно?
Как я понимаю, информация о процессах и потоках использования CPU взята из /proc/<pid>/stat
& /proc/<pid>/task/<tid>/stat
файлы. Кто заполняет эти файлы и почему время <pid>/stat
это не сумма всего <tid>/stat
раз?