Мне нужно узнать, сколько ядер доступно на сервере в данный момент. Например, это 8-ядерный компьютер с загрузкой ЦП 50%. Можно ли это предположить, поскольку доступно 4 ядра? или есть более изощренный способ определить количество доступных ядер.
Несколько моих наблюдений заключалось в том, что на этой машине может быть 50 активных системных процессов, но большинство из них большую часть времени будут в неактивном состоянии. Некоторые из них просыпаются и выполняют задание на несколько миллисекунд, а затем снова засыпают. Поэтому мне нужно понять, какие вычисления выполняются за кулисами для расчета загрузки процессора и как я могу использовать это для определения свободных ядер.
Ваша система обычно распределяет нагрузку на все доступные ядра. Это означает, что все ядра будут активны при распределенной нагрузке.
Вы также должны учитывать, что есть приложения, которым специально предписано использовать определенное количество ядер. Таким образом, в графическом представлении использования ЦП вы увидите, что определенные ядра используются больше.
Следовательно, нельзя прямо сделать вывод, что использование 50% на 8-ядерной машине означает, что 4 ядра используются на 100%, а остальные 4 ядра не используются.