要访问内存信息的Hyper-V WMI类的哪个属性



我想获取具有Hyper-V WMI类的虚拟机的内存。有4个内存类;但我找不到它们的任何属性来获得内存值。

Msvm_Memory类具有BlockSizeNumberOfBlocks属性。当我把它们相乘时,我不能得到正确的记忆。

尊重https://msdn.microsoft.com/en-us/library/hh850175aspx这已经是错误的做法了。

区块大小数据类型:uint64访问类型:只读构成存储区的块的大小(以字节为单位)。如果块大小可变,则应指定以字节为单位的最大块大小。如果块大小未知,或者块概念无效(例如,对于聚合扩展数据块、内存或逻辑磁盘),请输入1(一)。此属性继承自CIM_StorageExtent,并且始终设置为1048576。

我应该使用哪个类和属性?

您可以使用Msvm_MemorySettingData类来访问实例的已定义内存属性。您可以通过InstanceID过滤结果,并将AllocationUnitsLimit一起解析,以获得配置的最大内存量。

在以下情况下,可以为特定实例"4764334E-E001-4176-82EE-5594EC9B530E"分配1 TB的内存。

Example InstanceID: "Microsoft:Definition\4764334E-E001-4176-82EE-5594EC9B530E\Default"
AllocationUnits: "bytes * 2^20"
Limit: 1048576

Msvm_MemorySetting数据:https://msdn.microsoft.com/en-us/library/hh850176(v=vs.85).aspx