use builtin say master
authorDavid Marec <DavidMarec@users.noreply.github.com>
Mon, 8 May 2023 11:20:07 +0000 (13:20 +0200)
committerDavid Marec <DavidMarec@users.noreply.github.com>
Mon, 8 May 2023 11:21:43 +0000 (13:21 +0200)
rename.sh
vmstat.pl [new file with mode: 0755]
vmstatm.pl [new file with mode: 0755]

index 85648988f0c2b32f7e311a8a3dd676c024fe3f70..decf59e379a3f0ca7617b9c8c6ed581209b357a8 100755 (executable)
--- a/rename.sh
+++ b/rename.sh
@@ -15,7 +15,7 @@ processing()
 {
        echo processing "${@}"
        newfile=`echo "$@" | sed "s/${prefix}//g"`
-       [ -n ${iconv} ] && newfile=`echo ${newfile} | iconv -c -t UTF-8`
+       [ -n ${iconv} ] && newfile=`echo ${newfile} | iconv -cs -t UTF-8`
        echo "  : copying <$newfile> into <${dest}>"
        cp "${@}" "${dest}/${newfile}"
 }
diff --git a/vmstat.pl b/vmstat.pl
new file mode 100755 (executable)
index 0000000..9a4c21e
--- /dev/null
+++ b/vmstat.pl
@@ -0,0 +1,63 @@
+#!/usr/local/bin/perl
+#
+# requires textproc/p5-XML-LibXML
+#
+use warnings;
+use strict;
+
+use feature 'say';
+use XML::LibXML;
+
+my ($offset) = @ARGV;
+
+if (not defined $offset) {
+       $offset = 10;
+}
+
+my $filename = 'vmstat.xml';
+
+
+my %dict;
+
+
+
+while (1) {
+       say scalar localtime();
+       say "------------------------";
+       system("/usr/bin/vmstat -z --libxo xml >$filename"); 
+       my $doc = XML::LibXML->load_xml(location => $filename); 
+       my $c = 0;
+       foreach my $id ($doc->findnodes('//zone')) {
+               my $name=$id->findvalue('name');
+               my $used=$id->findvalue('used');
+
+               my $val = int($used);
+
+               if ($name eq "vm pgcache") {
+                       $name = $name . "_$c";
+                       $c++;
+               }
+               
+               if (exists $dict{$name}) {
+                       my $v0=$dict{$name} + $offset;
+
+                       if ($v0 <= $val) {
+format DIFF_V0V1 =
+       @<<<<<<<<<<<<<<<<<<<<<< @######## => @########
+       $name,$dict{$name},$val
+.
+                               $~ = "DIFF_V0V1";
+                               write;
+                               $dict{$name} = $val;
+                       }
+               } else {
+                       $dict{$name} = $val;
+               }
+       }
+
+       say '';
+
+       sleep(5);
+}
+
+
diff --git a/vmstatm.pl b/vmstatm.pl
new file mode 100755 (executable)
index 0000000..1a4ea9c
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/local/bin/perl
+#
+# requires textproc/p5-XML-LibXML
+#
+use warnings;
+use strict;
+use feature 'say';
+
+use XML::LibXML;
+
+my $filename = 'vmstatm.xml';
+my %dict;
+
+my ($offset) = @ARGV;
+
+if (not defined $offset) {
+       $offset = 10;
+}
+
+while (1) {
+       say scalar localtime();
+       say "------------------------";
+       system("/usr/bin/vmstat -m --libxo xml >$filename"); 
+       my $doc = XML::LibXML->load_xml(location => $filename); 
+       foreach my $id ( $doc->findnodes('//memory')) {
+               my $name=$id->findvalue('type');
+               my $used=$id->findvalue('memory-use');
+               if (exists $dict{$name}) {
+                       my $v0=$dict{$name} + $offset;
+
+                       if ($v0 < $used) {
+format DIFF_V0V1 =
+       @<<<<<<<<<<<<<<<<<<<<<< @######## => @########
+       $name,$dict{$name},$used
+.
+                               $~ = "DIFF_V0V1";
+                               write;
+                               $dict{$name}=$used;
+                       }
+               } else {
+                       $dict{$name}=$used;
+               }
+       }
+
+       say '';
+       sleep(5);
+}
+