sql-server - 查找与 sys.dm_os_sys_info 中的列等效的 powershell CIM
问题描述
我有一个普通的 SQL Server 选择,它从动态管理视图的这两列中收集信息:
SELECT cpu_count, hyperthread_ratio
FROM sys.dm_os_sys_info
我想知道是否有人通过 powershell CIM 系统硬件类知道精确的等价物?就像是:
Get-CimInstance -ClassName Win32_Processor
但是我对 PC 架构的了解还不够,无法知道其中的哪个属性(或基于其他属性的逻辑)直接等同于该 sql dmv 中的 cpu_count 和 hyperthread_ratio。
解决方案
您可以执行以下操作:
$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 的数据,这就是我们关心的所有计算。
如果没有计算(我可以找到),您想要的数据就不存在。这cpu_count
是逻辑处理器的总数(NumberOfLogicalProcessors
值的总和)。hyperthread_ratio
是逻辑处理器总数除以 CPU 插槽总数。
顺便说一句,我的测试表明 SQL 实例中的处理器亲和性不会影响 SQL 查询中的计算或数据。
推荐阅读
- angular - 将一个组件插入 CDK 门户
- java - java和kotlin之间的泛型!!帮我?
- javascript - 提取多个链接并使用 JQuery 在控制台中单击
- javascript - 当我在旧版本的写字板中打开文件时,某些字符会发生变化
- linux - 如何在centos linux上自动同步目录
- python - 如何使用 ODBC 链接 SQL 数据库并在 Python 中进行 SQL 查询
- c# - 为什么没有同时处理具有基本身份验证的 ASP.NET Web Api 请求?
- visual-studio - Visual Studio Extension 修改 Go to All 搜索结果?
- html - 背景中的图像始终位于同一位置?
- php - 以 Symfony 形式获取文件的数据