Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94080
  • 博文数量: 29
  • 博客积分: 1160
  • 博客等级: 少尉
  • 技术积分: 321
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-29 15:48
文章分类

全部博文(29)

文章存档

2010年(29)

我的朋友

分类:

2010-07-17 21:07:26

 
 
在AIX上安装AIX::Perfstat包时, 遇到了一点小问题, 下载并运行如下命令后, 报了一点错.
perl Makefile.PL
make
    报的错误是找不到cpu.o, memory.o等目标文件, 所以不能link成可执行文件, 这时可以修改Makefile.PL或生成好的Makefile.
Makefile.PL:
  OBJECT            => ‘$(O_FILES) cpu.o disk.o netinterface.o memory.o’
Makefile:
  OBJECT = $(O_FILES) cpu$(OBJ_EXT) disk$(OBJ_EXT) netinterface$(OBJ_EXT) memory$(OBJ_EXT)
    这样改了后, 编译是通过了, 但跑如下测试代码时, 却报错了.
#!/home/oracle/dbaperl/bin/perl -w
#
use AIX::Perfstat;
my $cpu=AIX::Perfstat::cpu_total();
print($cpu->{‘processorHZ’},”\n”);
    错误信息如下.
Can’t find ‘boot_AIX__Perfstat’ symbol in …./Perfstat.so
at …/Perfstat.pm line 38
Compilation failed in require at ./test.pl line 3.
BEGIN failed–compilation aborted at ./test.pl line 3.
    最后原因是编译时, 默认用了/usr/local/lib目录下的库文件, 用/usr/lib目录下的就行了, 再改一次Makefile就可以了.
LDDLFLAGS =  … -L/usr/lib
    改完了之后, 就可以跑测试代码了, 可以得到CPU的频率了.
[oracle@test:/home/oracle] ./test.pl
1656376000
    接下来就是要研究如何使用这个包, 来编写监控系统性能的脚本了.
阅读(767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~