Максимальная загрузка процессора в *nix
Я запускаю сервер Ubuntu 12.04 через виртуальную машину (он работает на гипервизоре ESXi vmware), но я не уверен, что у него есть полный доступ к 8 назначенным мне процессорам. Мой физический сервер имеет 2 фискальных чипа с 4 физическими ядрами. Я назначил эту же конфигурацию своему виртуальному серверу. К сожалению, я никогда не видел, чтобы ни один процесс не загружался с 12,5% процессорной нагрузки, и я думаю, что может быть проблема с моей конфигурацией.
TL: DR - Какой самый простой способ максимизировать использование моего процессора через CLI для тестирования?
3 ответа
Используйте stress
утилита для генерации загрузки процессора в вашей системе.
Что-то вроде:
[root@xt ~]# stress --cpu 8
stress: info: [1009156] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd
Что именно вас интересует в тестировании?
100% / 8 = 12,5. Вы максимизируете только одно из 8 возможных ядер. Запустите многопоточную программу.
Невозможно, чтобы один процесс превысил 12,5% загрузки ЦП в системе с 8 ЦП.
Точнее говоря, однопоточный процесс не может делать больше чем одно за раз. Если процессы в системе с 8 процессорами выполняют непрерывные параллельные вычисления для ЦП 0, то он потребляет 12,5% доступных ресурсов ЦП в этой системе. Чтобы загрузить несколько ядер, вам нужно запустить несколько процессов или написать часть программного обеспечения, которая будет работать с несколькими ядрами.