Хочу предупредить, что я прочитал вопрос по этой теме, но все еще немного запутался в ситуации, которую наблюдаю.
а также:
Понимание верхней и средней нагрузки
Меня беспокоит нагрузка на один из моих серверов.
При запуске htop он показывает, что у меня 40 ядер. МОИ средние показатели нагрузки 9.35, 9.58, 8.55.
Сначала я подумал, что это много, но на сервере установлены следующие процессоры: КОМПЛЕКТ ПРОЦЕССОРА FIO INTEL XEON E5-2650V3 (2,3 ГГц/10-ЯДЕР/25 МБ/105 Вт) КОМПЛЕКТ ПРОЦЕССОРА FIO INTEL XEON E5-2650V3 (2,3 ГГц/10-ЯДЕР/25 МБ/105 Вт)
Меня смущает то, что я не совсем понимаю, почему htop указывает 40 ядер, но у меня всего два 10-ядерных процессора.
2 вопроса:
Если у меня два 10-ядерных процессора (всего 20 ядер), разумна ли загрузка в 10 ядер?
И еще, почему htop показывает 40 ядер в верхней части?
решение1
В этом случае разумной будет нагрузка 10. Правило большого пальца заключается в том, что вы хотите, чтобы средняя нагрузка была меньше общего числа ядер. Причина, по которой у вас, по-видимому, вдвое больше ядер, заключается в том, чтоHyper Threading. Вот отрывок из связанной статьи в Википедии:
Для каждого физически присутствующего ядра процессора операционная система адресует два виртуальных или логических ядра и распределяет рабочую нагрузку между ними, когда это возможно. Основная функция гиперпоточности — увеличить количество независимых инструкций в конвейере; она использует преимущества суперскалярной архитектуры, в которой несколько инструкций работают с отдельными данными параллельно. С HTT одно физическое ядро представляется операционной системе как два процессора, которая может использовать каждое ядро для планирования двух процессов одновременно. Кроме того, два или более процессов могут использовать одни и те же ресурсы: если ресурсы для одного процесса недоступны, то другой процесс может продолжить работу, если его ресурсы доступны.
решение2
У вас есть два 10-ядерных ЦП, всего 20 ядер, но каждое из этих ядер поддерживает технологию Hyper-Threading и отображается для операционной системы как два ЦП: в итоге у вас получается 40 ЦП. (Я немного упрощаю; ядро знает разницу между ядрами и потоками и учитывает ее.) Вот что htop
отображается.
Что касается вашей нагрузки, то 10 будет достаточно; одно практическое правило (приведенное в комментарии к ответу наПонимание нагрузки системы) заключается в том, что мониторинг должен предупреждать, если нагрузка больше количества ЦП, но в вашем случае она меньше количества (реальных) ядер.