2013-04-13 3 views
2

Я просматриваю исходный код программы GNU/Linux top. Я пытаюсь понять, как он вычисляет использование ЦП каждым процессом, но мне не очень повезло.Как «сверху» вычисляет использование ЦП?

Исходный код указан в GitHub.

+0

Мы не здесь для «указателей» или «советов». Это Q & A, а не чат или форум. Задайте конкретный вопрос по теме. –

+0

Возможно, вам стоит задать вопрос на интересующем вас Linux Distro или что-то в этом роде. – Dzyann

ответ

0

Как и все остальное в утилите procps, данные поступают из виртуальной файловой системы /proc, управляемой ОС и ядром Linux. В этом нет никакого «расчета».

+0

Я считаю, что он вычисляет процент использования различных ЦП (путем вычисления дельта из предыдущих данных '/ proc' и размера каждого поля), но я согласен с тем, что вся учетная информация о том, какой процессор и какой процесс выполняет то, что все обрабатывается в ОС. –

+0

@Josten: Затем «сообщать» вместо того, чтобы быть грубым. На самом деле, давайте остановимся на том, чтобы не использовать высокомерный термин, как «сообщить», не так ли? Я не согласен с тем, что ответ неверен. Мы просто интерпретируем вопрос по-разному. Я полагаю, что OP ссылался на более низкий уровень абстракции, который вам нужен, чтобы он хотел знать, как 'top' получает данные об использовании ЦП для каждого процесса, беря некоторые другие данные и применяя к ним вычисления. Ответ: это не так. ОС сообщает об использовании ЦП. Да, 'top' запускает некоторую пост-обработку этих значений, чтобы представить их по-разному, но это одни и те же данные. –

Смежные вопросы