Загрузка ЦП многопоточного процесса

Предыстория: у меня есть целый беспорядок систем с ядром 2.6.20 и 2.6.22 в том, что началось с установки Fedora Core 2 несколько лет назад. Эти системы имеют 8 процессоров, как сообщает cat /proc/cpuinfo,

Мой вопрос заключается в том, что при запуске процесса, использующего многопоточность, загрузка процессора составляет 99,99%, как сообщили top означает 99,99% от каждого ЦП или 99,99% от общего числа, если вы добавите использование на каждом ЦП вместе? Другими словами, максимальный процент должен быть 800% или 100%?

Кажется, что, когда один из этих процессов на 99,99%, если вы посмотрите на каждый процессор в отдельности, они скажут, 25% загрузки (вместо 100%).

Любая помощь приветствуется. Если я был неясен или запутался, дайте мне знать, и я постараюсь уточнить.

ОБНОВЛЕНИЕ Кажется, что мы могли видеть низкое использование из-за проблемы с моделью потоков, используемой программистами. Они используют пользовательские потоки в отличие от потоков ядра и видят ограничения в том, что разрешено делать пользовательским потокам.

2 ответа

Решение

Использование процессора на 99% означает почти полное использование одного ядра.

если ваша система полностью загружена [пара потоков, каждый из которых загружает один процессор] - вы увидите 400% использования в четырехъядерном процессоре или 800% в двухъядерных процессорах.

процессы / потоки перераспределяются между процессорами - поэтому вы видите 25% использования на каждом из ядер. но вы можете установить сходство для них.. тогда они будут придерживаться выбранных процессоров / ядер.

Показывает нагрузку на ядро. Не забывайте о отличной замене "top" под названием htop. Это привлечет вас к загрузке отдельных процессоров / ядер.

Другие вопросы по тегам