为什么 FreePhysicalMemory 给出的值不正确?

2024-04-10

我正在尝试使用 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(使用前将#替换为@)

为什么 FreePhysicalMemory 给出的值不正确? 的相关文章

  • 使用 PowerShell 检查 AD 中是否存在组

    我想为该组创建代码来检查该组是否存在 但是 我无法开始工作 因为它成功地将用户和组的部分成员仅添加到一个组中 而不是其他组 因为我设法在活动目录中创建一个组并从 csv 中读取 这是我的代码和结果 似乎在成功添加用户并添加组成员后我总是收到
  • Powershell 设置盖子关闭操作

    我想自动设置 Windows 7 在我的工作笔记本电脑上合上盖子时所执行的操作 因为每次登录时都会通过 GPO 重置该操作 我知道我可以在批处理脚本中使用 powercfg 命令来实现此目的 powercfg setacvalueindex
  • 在 Array Powershell 中获取新的附加值

    for Get All Files from the Folder FolderItems Get PnPFolderItem FolderSiteRelativeUrl FolderURL ItemType File Write Host
  • Try Catch 在 Powershell 脚本中不起作用

    我似乎无法让这个 try catch 工作 我确信这很简单 但此刻我的大脑太煎熬了 请帮忙 param String RemoteServicesVMs VmThatThrowsError function getWinServiceSta
  • Jenkins 执行 PowerShell 脚本

    我正在尝试从 Jenkins 运行 PowerShell 脚本 但它似乎完全忽略了执行策略 可以通过直接执行 powershell exe 或使用PowerShell插件 https wiki jenkins ci org display
  • 如何在一行中输出多个变量

    我试图确定 CSV 中的用户是否处于活动状态 此外 我想知道它们是否是服务帐户 用户帐户或基于 OU 的计算机帐户 一切都在膨胀 直到我尝试输出它 输出分为几行 每个变量一行 我希望输出在一行上 中间有逗号 这样我完成后就会有一个 CSV
  • PowerShell 找不到过载

    我正在尝试使用https sshnet codeplex com https sshnet codeplex com 允许 PowerShell 脚本将文件上传到 SFTP 服务器 一切似乎都有效 除了找不到该方法的重载UploadFile
  • Powershell 调用程序集委托

    我有一个用于过程控制应用程序的 dll 程序集 我在我的内部使用 load电源外壳 script 该DLL包含我需要使用的委托类型 委托名称是 X Y Delegate 我在该 DLL 中有另一个方法 应该这样调用 Method deleg
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 如何在 IIS 8 中远程停止/启动应用程序池

    注意 每条线使用一行 我在 IIS 6 中使用了这些命令 它们工作得很好 Start get wmiobject namespace root MicrosoftIISv2 computername REMOTE SERVER class
  • 正确配置JDK环境变量后仍然找不到java命令

    我在 Windows 虚拟机启动时安装 JDK 使用 cloudinit 用户数据将 PowerShell 脚本传输到 Windows 计算机 然后运行该脚本来安装 JDK softwares Get ItemProperty HKLM S
  • 如何扩展和重写集合类中的 Add

    背景 我在 PowerShell 中有一个具有 4 个属性的数据对象 其中 3 个是字符串 第 4 个是哈希表 我想安排一个新类型 将其定义为该数据对象的集合 在这个集合类中 我希望强制执行一种特定的格式 这将使我在模块中其他地方的代码更加
  • PowerShell 模块中忽略 Write-Verbose

    我希望使用Write Verbose脚本和函数中的命令行开关 它在脚本 ps1 文件中按预期工作 但在模块 psm1 文件中则不然 该 commandlet 在模块中被忽略 运行以下脚本 PS gt scaffold ps1 verbose
  • 如何在 PowerShell 中比较本地文件与 FTP 服务器上的文件的年龄并下载远程复制是否较新

    我正在编写一个 PowerShell 脚本 以帮助我为工作设置新电脑 希望这不仅仅是我一个人会使用 所以我正在尝试考虑所有事情 我在 FTP 服务器上保存了离线安装程序 java flash reader 等 如果本地副本尚未保存在创建的
  • 如何使用 Excel.UriLink.16 更改 Excel URL 的文件关联?

    我正在尝试更改文件关联 以便在另一个浏览器中打开 Excel 单元格中的 URL 根据使用 CMD ftype命令与Excel UriLink 16 我应该能够使用以下命令从 powershell 通过 cmd 执行此操作 To chang
  • 如何使用 PowerShell 查找 CPU 和 RAM 使用情况?

    我试图让 PowerShell 提供 RAM 和 CPU 使用情况 但我无法弄清楚要使用哪个 WMI 类 我的计算机有两个处理器 因此拥有这两个处理器的信息会很有用 您还可以使用 Get Counter cmdlet PowerShell
  • Powershell:复制时自动更改文件属性

    我有一个只读文件的文件夹 当我将这些文件之一复制到测试位置时 我希望能够复制它们而不保留其原始属性 我可以做到这一点 但这很长 copy item srcfilefullname destfilefullname set itemprope
  • 我的 Powershell GUI 界面在打开网格视图时不断调整大小

    我目前正在构建一个复制到剪贴板工具 其中显示存储在文件夹中的 txt 文件列表 并且我使用 out gridview 来允许用户更好地选择和过滤列表 我已附上图片以供参考 单击加载 out gridview 的按钮后如何停止调整大小 Too
  • Import-Csv - 成员已存在问题

    我必须将多个 CSV 文件合并为一个文件 每个 CSV 都有一个标题 其中一列标题是相同的 理想情况下 最终文件 all out csv 必须有一个标头 我运行 PowerShell 代码 Import Csv out 1 result c
  • PowerShell:函数没有正确的返回值

    我编写了一个 powershell 脚本来比较两个文件夹的内容 Dir1 d TEMP Dir1 Dir2 d TEMP Dir2 function Test Diff Dir1 Dir2 fileList1 Get ChildItem D

随机推荐