【发布时间】: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 上给出
问题是它计算工作集内存,我想计算私有工作集内存,链接页面上没有定义任何属性
有什么方法可以计算这个类的私有工作集内存吗?
【问题讨论】:
-
我已经使用了 PrivatePageCount 属性,但它没有返回任务管理器中 PrivateWorkingSetMemory 中显示的内容