Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl中计算私有工作集内存_Perl_Wmi_Wmi Query_Win32ole - Fatal编程技术网

在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:\\\\.\\

我基本上是在用perl查询进程的私有工作集。
该解决方案在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\'");