Chinaunix首页 | 论坛 | 博客
  • 博客访问: 510695
  • 博文数量: 65
  • 博客积分: 2925
  • 博客等级: 上尉
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-01 10:56
个人简介

2013

文章分类

全部博文(65)

分类: Python/Ruby

2011-06-02 13:55:37

基于shell脚本收集的系统信息,利用perl对月数据做简单的统计

shell收集略,以下是perl部分:

  1. #!/usr/bin/perl

  2. open(CPU,"cpu")||die("wjlcn:Can't open cpu text");
  3. my @cpu1=<CPU>;
  4. close(CPU);

  5. open(IO,"io")||die("wjlcn:Can't open io text");
  6. my @io1=<IO>;
  7. close(IO);

  8. open(SWAP,"swap")||die("wjlcn:Can't open swap text");
  9. my @swap1=<SWAP>;
  10. close(SWAP);

  11. open(MEM,"mem")||die("wjlcn:Can't open mem text");
  12. my @mem1=<MEM>;
  13. close(MEM);

  14. my @total;
  15. my $n=0;
  16. $tcpu=0;
  17. $tio=0;
  18. $tswap=0;
  19. $tmem=0;


  20. foreach(0..$#cpu1){
  21. $n=$n+1;
  22. chomp($cpu1[$_],$io1[$_],$swap1[$_],$mem1[$_]);
  23. $total="$n $cpu1[$_] $io1[$_] $swap1[$_] $mem1[$_]";
  24. print $total."\n";
  25. $tcpu=$tcpu+$cpu1[$_];
  26. $tio=$tio+$io1[$_];
  27. $tswap=$tswap+$swap1[$_];
  28. $tmem=$tmem+$mem1[$_];
  29. }

  30. $avgcpu=$tcpu/$n;
  31. $avgio=$tio/$n;
  32. $avgswap=$tswap/$n;
  33. $avgmem=$tmem/$n;

  34. print "------------system infomration-------------\n";
  35. print "cpu average is $tcpu/$n=$avgcpu"."\n";
  36. print "io average is $tio/$n=$avgio"."\n";
  37. print "swap average is $tswap/$n=$avgswap"."\n";
  38. print "mem average is $tmem/$n=$avgmem"."\n";
  39. print "$avgcpu $avgio $avgswap $avgmem \n";
  40. print "------------------wjlcn--------------------\n";



阅读(2318) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

wjlcn2011-06-08 09:08:05

yifangyou: 文件格式是什么样的,也没有说明.....
cpu 等 四个文本 是经过shell脚本处理过的文本(每个月对应一个文本),其格式是每天cpu的平均值为一行存在文本中(只有一列)……

yifangyou2011-06-07 22:17:20

文件格式是什么样的,也没有说明