2017-01-04 9 views
0

Top может использоваться для сортировки процессов/потоков по общему процессору. Как насчет сортировки потоков только по их системному процессору? Я пытаюсь расследовать случай с высоким системным процессором на сервере, и strace дает мне распад системного времени с точки зрения системных вызовов, создаваемых потоком. Но как определить поток, который вносит наибольший вклад в системный CPU (поток, который делает самые дорогие системные вызовы, по существу)?Как мы можем сортировать потоки в Linux по их системному процессору (а не по общему или пользовательскому процессору)?

ответ

0

syscalls, о котором сообщает strace, может иметь или не иметь корреляции с временем, проведенным активно что-то делать в ядре. На самом деле вы не хотите смотреть на это большую часть времени.

То, что вы хотите, - это пламя и оттуда. В частности, может быть, ядро ​​тратит много времени, даже не выполняя никаких системных вызовов в первую очередь.

http://www.brendangregg.com/flamegraphs.html