Я заметил, что иногда существуют (большие) различия между общим использованием ЦП, о котором сообщают, и суммированием загрузки ЦП для каждого процесса, данной приложениями как top
и wmtop
.
Как пример: Я недавно выполнил a git filter-branch --index-filter
на довольно большом repo, с передачей по каналу индексной команды фильтрации git ls-files
через a grep
фильтр и в xargs git rm --cached
. Это заняло несколько минут для выполнения; в то время как это шло, я заметил это оба wmtop
и top
отображали верхний уровень (выше 50% на моей машине с 2 ядрами) общее использование ЦП, но что ни один не показал отдельных процессов, которые использовали существенное количество процессорного времени.
Разве некоторые процессы не показывают в списке процессов? Какие виды процессов - они, и существует ли способ узнать, сколько процессорного времени они используют?
Необходимо добавить снимок tops
вывод к Вашему вопросу, таким образом, мы видим точно, что Вы видите.
Наиболее распространенное несоответствие в индикаторах использования процессора является некоторым подсчетом "ввод-вывод, ожидают" время, а также "на самом деле ЦП напряженное" время. Время ожидания ввода-вывода - когда процесс активно сделал бы что-то, так, возможно, потенциально использовал весь интервал, который планировщик дал ему, но привел, поскольку он заблокирован, ожидая операций ввода-вывода для завершения.
Короткие рабочие процессы имеют эффект также: если существует много запусков процессов, делая что-то маленькое, то закрытие, они не могут быть замечены вообще главным или подобным (особенно, если у Вас нет вершины, обновляющей часто), потому что они сделали свою вещь и остановились между обновлениями. Даже при том, что они не присутствовали, когда вершина взяла свои образцы (так не появляйтесь в списке задач), они в целом включают /proc
файловая система все еще покажет начиная с последнего образца ЦП был занят для X галочек планировщика и неактивен для Y.