2

Я пытаюсь определить использование процессора программой, глядя на вывод Top в Linux. Я понимаю, что% us означает пользовательское пространство, а% sy означает систему / ядро и т.д. Но, скажем, я вижу на 100% нас. Значит ли это, что процессор действительно выполняет только полезную работу? Что, если процессор связан с ожиданием ресурсов, которые недоступны, или отсутствует кеш, он также будет отображаться в столбце% us или в любом другом столбце?

Спасибо.

1 ответ1

1

Как отметил Трэвис, это сложный вопрос, и он действительно зависит от определения того, что на самом деле является полезной работой, но это скорее академический вопрос.

Я думаю, что способ, которым это, вероятно, рассчитывается, представляет собой процент от общего количества циклов ЦП, выполненных в пользовательском пространстве, которые не расходуются на холостом ходу. Пока программа переходит в режим ожидания в ожидании определенных ресурсов, она не должна потреблять процессор.

Если это по какой-то причине не удается, top показывает процент времени, потраченный на ожидание ввода-вывода, как% wa.

Краткий ответ:% us из 100%, вероятно, включает некоторую занятость, но точное количество будет зависеть от типа вашего процессора, типа используемого вами программного обеспечения и десятка других факторов. Чтобы получить полную информацию о том, что именно говорит вам топ, вам, вероятно, нужно перейти к исходному коду (который, к счастью, находится в свободном доступе).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .