У меня есть машина с Intel(R) Xeon(R) CPU E5520
видимым как 16 логических ядер (8 с HT). Если я запускаю что-нибудь, чтобы съесть процессорное время (однопоточное), top правильно сообщает о 100% загрузке ЦП для процесса, но только около 3-4% общего использования.
Cpu(s): 3.6%us, 0.0%sy, 0.0%ni, 96.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1567 www 20 0 65632 84 4 R 100 0.0 0:05.96 burnMMX
Конечно, заявленное использование должно составлять ~ 6,25% (1 из 16 ядер).
- Это неправильно, потому что это виртуальная машина?
- Как я могу рассчитать правильное значение?
atop
изменить верхнюю часть, чтобы сообщить об использовании каждого процессора в отдельности (нажав1
)Ответы:
top
в сводных отчетах об использовании процессора относительно всех ядер. С другой стороны, когда вы просматриваете список процессов, процент лучших отчетов ссылается на одно ядро (реальное или HT). Попробуйте запустить процесс с 4-мя потоками, которые могут поглотить 4 ядра ЦП, вы найдете его с использованием 400% ЦП.Я не могу сказать , почему, но это, как
top
работает по всей системе Linux я видел.источник
Чаще всего
top
по умолчанию работает в режиме «Irix», как вы его и описали. Если вы хотите получить процент от общих возможностей ЦП (т. Е. Когда сумма возможного использования ЦП увеличивается до 100%, а не cpu_cores_number * 100%), просто переключите режим «Irix», нажавI
.источник