Поиск CIM powershell, эквивалентного столбцам из sys.dm_os_sys_info - PullRequest
2 голосов
/ 10 января 2020

У меня есть обычный SQL Сервер, который я выбираю, который собирает информацию из этих двух столбцов из динамического c представления управления:

SELECT cpu_count, hyperthread_ratio
FROM sys.dm_os_sys_info

Мне интересно, знает ли кто-нибудь точный эквивалент через класс оборудования системы PowerSim CIM? Что-то вроде:

Get-CimInstance -ClassName Win32_Processor

Но я не знаю достаточно об архитектуре P C, чтобы знать, какое свойство (или logi c, основанное на других свойствах) из этого напрямую приравнивается к cpu_count и hyperthread_ratio из этого sql дмв.

1 Ответ

0 голосов
/ 10 января 2020

Вы можете сделать следующее:

$CPUData = @(Get-CIMInstance -Class Win32_Processor | Select NumberOfCores,NumberOfLogicalProcessors)
$CPU_Count = ($CPUData.NumberOfLogicalProcessors | Measure -Sum).Sum
[pscustomobject]@{'CPU_Count' = $CPU_Count
                  'Hyperthread_Ratio' = $CPU_Count/$CPUData.Count
                }

Объяснение:

Get-CIMInstance -Class Win32_Processor возвращает свойства NumberOfLogicalProcessors и NumberOfCores. Когда эти два значения свойств различаются, включается гиперпоточность.

cpu_count и hyperthread_ratio возвращают только данные о логических процессорах, поэтому это все, что нам нужно для расчета.

Данные, которые вы хотите, не существуют без расчета (что я мог бы найти). cpu_count - это общее количество логических процессоров (сумма значений NumberOfLogicalProcessors). hyperthread_ratio - это общее количество логических процессоров, деленное на общее число сокетов ЦП.

Кроме того, мое тестирование показывает, что сходство процессоров в экземпляре SQL не влияет на вычисления или данные в SQL query.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...