我正在尝试使用 win32_OperatingSystem 类中的 FreePhysicalMemory 属性。问题是,它通常只返回几个 MB 的值。显然,考虑到我的计算机上仅打开 Powershell,我有更多可用 RAM。
我正在使用以下代码:
$test = gwmi win32_OperatingSystem
$test.FreePhysicalMemory
难道我做错了什么?或者我不明白 FreePhysicalMemory 属性实际返回什么?
感谢您的帮助。
您能否提供一些其他详细信息,例如您的操作系统、总物理内存以及 PowerShell 命令的实际输出?
使用 win32_OperatingSystem 类时要记住的一件事是 FreePhysicalMemory 和 FreeVirtualMemory 的值以 KB 为单位返回 - 而不仅仅是字节,因此您可能需要额外除以 1024。
例如,在我的总物理内存为 4GB 的计算机上(WinXP 32 位 - 因此操作系统只能使用约 3.5GB),以下是我的 PowerShell 的输出:
$test = gwmi win32_OperatingSystem
# verify the "visible" memory size to the Operating System
$test.TotalVisibleMemorySize
3652840
# check free memory
$test.FreePhysicalMemory
1872828
# divide by 1024 twice, once for KB -> MB, once for MB -> GB
($test.FreePhysicalMemory / 1024) / 1024
1.78606796264648
我正在运行一些应用程序,但这表明我仍然有大约 1.786GB 的可用物理内存。我验证了此行为在我的 Win7 x64 机器上也相同。
以下是 Win32_OperatingSystem WMI 类的 MSDN 参考页:http://msdn.microsoft.com/en-us/library/aa394239.aspx http://msdn.microsoft.com/en-us/library/aa394239.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)