免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1640 | 回复: 4
打印 上一主题 下一主题

请教:关于模块Win32::PerfMon使用报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-08 13:54 |只看该作者 |倒序浏览
如下一段代码,运行时总报错:
Can't locate loadable object for module Win32:erfMon in @INC(@INC contains: C:/Perl/site/lib C:/Perl/lib .) at ...... line3...

我明明cpan已经安装了该模块啊;另外,搜索PerfMon.pm具体安装路径,使用 use lib C:/...(《中级perl》3.9节中讲到使用该方法“适时地打开路径”),运行后还是报错。请帮看看如何解决,谢谢!

程序代码如下:
  1. #get_system_stats.pl
  2. #use lib "C:/Perl/site/lib/Win32";
  3. use Win32::PerfMon;
  4. use strict;

  5. my $ret = undef;
  6. my $err = undef;
  7. my $Object = undef;
  8. my $Counter = undef;
  9. my $CounterData = undef;
  10. #connect to localhost for data
  11. my $perfmon = Win32::PerfMon->new("\\\\localhost");

  12. if($perfmon != undef)
  13. {
  14.       $ret = $perfmon->AddCounter("Processor",
  15.                         "% Processor Time", "_Total");
  16.       if($ret != 0) {
  17.             $ret = $perfmon->AddCounter("Memory",
  18.                         "Available MBytes", -1);
  19.       }      
  20.       if($ret != 0)
  21.       {
  22.             $ret = $perfmon->CollectData();               
  23.             if($ret  != 0)                {
  24.                   my $proctime = $perfmon->GetCounterValue(
  25.                         "Processor","% Processor Time",
  26.                         "_Total");
  27.                          if($proctime > -1)
  28.                   {
  29.                   print "% Processor Time = [$proctime]\n";
  30.                   }
  31.                   else
  32.                   {
  33.                   $err = $perfmon->GetErrorText();                              
  34.                   print "Failed to get the counter data!\n",
  35.                         $err, "\n";
  36.                   }
  37.                   my $freemem = $perfmon->GetCounterValue(
  38.                         "Memory","Available MBytes",
  39.                         -1);
  40.                          if($freemem > -1)
  41.                   {
  42.                   print "Available Memory = [$freemem]MB\n";
  43.                   }
  44.                   else
  45.                   {
  46.                   $err = $perfmon->GetErrorText();                              
  47.                   print "Failed to get the counter data!\n",
  48.                         $err, "\n";
  49.                   }
  50.             }
  51.             else
  52.             {
  53.                   $err = $perfmon->GetErrorText();
  54.                   print "Failed to collect the perf data!\n",
  55.                         $err, "\n";
  56.             }
  57.       }
  58.       else
  59.       {
  60.             $err = $perfmon->GetErrorText();
  61.             print "Failed to add the counter!\n", $err, "\n";
  62.       }
  63.   }
  64.   else
  65.   {                             
  66.       print "Failed to create the perf object!\n";
  67. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-11-09 11:29 |只看该作者
有人帮解答下不,不要沉,呵呵。

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
3 [报告]
发表于 2012-11-09 11:31 |只看该作者
不是找不到,而是运行报错了
要看其他的错误信息

论坛徽章:
0
4 [报告]
发表于 2012-11-09 16:35 |只看该作者
谁方便在XP下跑一下,看看是否一样的问题。不知道哪里出问题了。

论坛徽章:
0
5 [报告]
发表于 2012-11-09 21:14 |只看该作者
[ 本帖最后由 ulmer 于 2012-11-09 21:15 编辑 ]

改用Win32::PerfLib!!


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP