在perl中计算私有工作集内存
我基本上是在用perl查询进程的私有工作集。在perl中计算私有工作集内存,perl,wmi,wmi-query,win32ole,Perl,Wmi,Wmi Query,Win32ole,我基本上是在用perl查询进程的私有工作集。 该解决方案在win8/8.1上运行得很好,但由于某些原因,下面的一行在win7x64上不返回任何内容,并且我尝试使用IDProcess而不是Name,它仍然不返回任何进程 my $proc = $objWMI->ExecQuery("select * from Win32_Process where Name=\'notepad\'"); $objWMI = Win32::OLE->GetObject('winmgmts:\\\\.\\
该解决方案在win8/8.1上运行得很好,但由于某些原因,下面的一行在win7x64上不返回任何内容,并且我尝试使用IDProcess而不是Name,它仍然不返回任何进程
my $proc = $objWMI->ExecQuery("select * from Win32_Process where Name=\'notepad\'");
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\.\\root\\cimv2');
$proc= $objWMI->ExecQuery("select * from Win32_PerfRawData_PerfProc_Process where Name=\'notepad\'");
foreach my $process (in($proc))
{
print "abc";
$out = $process->{WorkingSetPrivate};
}
所以这东西不起作用。
在perl中查询进程的私有工作集大小有什么不同的方法吗?在windows 7 64位上,性能计数器似乎已损坏。我终于建立了这个职位 所以我以管理员的身份启动了cmd,并执行了lodctr/R(这基本上重置了性能计数器)。在这之后,我终于能够得到这个过程,下面的代码工作得完美无缺:)
my $proc = $objWMI->ExecQuery("select * from Win32_PerfRawData_PerfProc_Process where Name=\'notepad\'");