我正在使用Power
shell Get-Process cmdlet进行一些验证,并获得了一些关于某些进程的奇怪值.我在运行sql Server实例的服务器上测试并且在资源监视器报告时消耗3GB RAM,并且在运行Get-Process时,我在sql服务器进程上获得了WorkingSet的负值,另一个进程消耗了2GB的PrivateMemorySize并得到了相同的值PM的负值.
以下是结果的屏幕截图.
操作系统是葡萄牙语,抱歉.
电源外壳:
检查sqlservr和最后一个scvhost …
幸运的是,我的脚本使用WMI(Win32_Process类)来获取进程信息,并且值正确且一切都匹配..
这是一个错误吗?也许有很大的价值观?我正在使用Powershell v3.
这是x64服务器吗?如果是这样,this blogpost可能会解释您的问题.显然它与get-process读取x64系统内存的方式有关:
The reason the poster was seeing negative numbers is fairly simple: the WS property is aliased to WorkingSet,but WorkingSet is a 32-bit value. In the poster’s case,the working set size overflowed the 32-bit value,resulting in a negative number being displayed.
$process =“* sql”*“GPS $流程| ft name,workingset64 -auto