【问题标题】:Calculating Private Working set memory from WMI class methods从 WMI 类方法计算私有工作集内存
【发布时间】:2013-02-08 13:18:19
【问题描述】:

我正在使用以下 perl 程序,它使用 WMI 类 Win32_Process 来确定进程的内存使用情况

use strict;
use warnings;
use Win32::OLE qw/in/;
sub memory_usage()
{
    my $objWMI = Win32::OLE->GetObject('winmgmts:\\\\.\\root\\cimv2');
    my $processes = $objWMI->ExecQuery("select * from Win32_Process where Name=\'notepad.exe\'");
    my $memory = 0;

    foreach my $proc (in($processes))
    {
         $memory = $memory + $proc->{WorkingSetSize};
    }
    return $memory;
}
print 'Memory usage: ', memory_usage(), "\n";

WMI 类 Win32_Process 及其属性在 MSDN here 上给出

问题是它计算工作集内存,我想计算私有工作集内存,链接页面上没有定义任何属性

有什么方法可以计算这个类的私有工作集内存吗?

【问题讨论】:

标签: windows wmi


【解决方案1】:

Win32_Process 更改为Win32_PerfRawData_PerfProc_Process 并将WorkingSetSize 属性更改为WorkingSetPrivate。这将为您提供私有工作集。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394323(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 2011-02-06
    • 2014-09-13
    • 2011-04-15
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多