6b92c25ea876b2fecfa773333d64f6e874dac1c2
[vrac.git] / vmstat.pl
1 #!/usr/local/bin/perl
2 #
3 # requires textproc/p5-XML-LibXML
4 #
5 use warnings;
6
7 use XML::LibXML;
8
9 my $filename = 'vmstat.xml';
10
11
12 my %dict;
13 my $offset = 10;
14
15 while (1) {
16         print scalar localtime() . "\n";
17         system("/usr/bin/vmstat -z --libxo xml >$filename"); 
18         $doc = XML::LibXML->load_xml(location => $filename); 
19         foreach my $id ( $doc->findnodes('//zone')) {
20                 my $name=$id->findvalue('name');
21                 my $used=$id->findvalue('used');
22
23                 if ($name eq "vm pgcache") {
24                         next;
25                 }
26                 
27                 if (exists $dict{$name}) {
28                         my $v0=$dict{$name} + $offset;
29
30                         if ($v0 < int($used)) {
31                                 print "$name: $v0 => $used \n";
32                                 $dict{$name}=int(${used});
33                         }
34                 } else {
35                         $dict{$name}=int(${used});
36                 }
37         }
38         print "------------------------\n" ;
39
40         sleep(5);
41 }
42