При запуске приложения, интенсивно использующего вычислительные ресурсы, в экземпляре 4-ядерного контейнера все 4 ядра не сообщают об использовании.
У нас есть приложение, интенсивно использующее вычислительные ресурсы на базе процессора, написанное для использования нескольких ядер. Когда приложение запускается локально и на виртуальных машинах в нашем центре обработки данных, диспетчер задач сообщает о 100% -ном использовании всех физических ядер. Когда код запускается в 4-ядерном экземпляре Linux-контейнера Linux, вкладка «Метрики» (когда она отображает использование процессора) достигает максимального значения 3000 (ACI сообщает об использовании в милли-процессорах). Если я захожу в контейнер и запускаю 'top', он сообщает о 66% -70% ... указывая на 3 ядра при 100% -ной загрузке, как в диаграмме метрик.
Есть ли причина наблюдаемого поведения? Предоставляются ли экземпляры ACI с физическими ядрами? Некоторые из них действительно гиперпоточные? Поскольку мы связаны с процессором, HT почти ничего не делает для нашего приложения.
Я ожидаю, что top будет сообщать о 100%, а диаграмма ACI Metrics покажет 4000 или 4k, когда приложение работает.
Спасибо