加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008 – 如何监控Windows进程的工作集大于4GB?

发布时间:2020-12-13 23:20:49 所属栏目:Windows 来源:网络整理
导读:显然,.NET框架有一个错误,可以防止准确确定2GB以上的工作集值.在2到4GB之间可以应用一些xoring计算来获得该值,但是没有办法获得大于4GB的工作集值(使用.Net或WMI) 当工作集大于4GB时,可以使用什么方法 – 最好是从PowerShell脚本 – 获得流程工作集的准确度
显然,.NET框架有一个错误,可以防止准确确定2GB以上的工作集值.在2到4GB之间可以应用一些xoring计算来获得该值,但是没有办法获得大于4GB的工作集值(使用.Net或WMI)

当工作集大于4GB时,可以使用什么方法 – 最好是从PowerShell脚本 – 获得流程工作集的准确度量?

(有些方面的细节可以在this StackOverflow question找到)

这是为了监控特定的过程:
"Process(<process name>)Working Set" | get-counter -computer <computer>

输出以字节为单位,但您可以在以下命令中将其转换为GB:

"Process(<process name>)Working Set" | get-counter -computer <computer>
| ForEach {$_.CounterSamples} | ForEach {[math]::round($_.cookedvalue/1GB,2)}

编辑:
阅读SO帖子,我看到你试图获得超过4 GB的任何进程,而不将特定进程传递给脚本.下面是一个脚本,它将执行此操作,这是一个指向Scripting Guy blog article的链接,解释了如何使用Get-Counter cmdlet:

"Process(*)Working Set" | Get-Counter -computer <computer>
| ForEach {$_.CounterSamples} | ? {$_.cookedvalue -gt 4294967296} | ft -AutoSize

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读