From b214c839811d90469b8d658040913c48f9c3cd01 Mon Sep 17 00:00:00 2001 From: David Marec Date: Mon, 26 Apr 2021 14:22:11 +0200 Subject: [PATCH 1/8] silent iconv --- rename.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rename.sh b/rename.sh index 8564898..decf59e 100755 --- 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}" } -- 2.45.0 From cfd3b3afbc73d0600f702be7adb8834341fdbbad Mon Sep 17 00:00:00 2001 From: David Marec Date: Sun, 7 May 2023 10:18:50 +0200 Subject: [PATCH 2/8] Add Perl script to check vmstat diff --- vmstat.pl | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 vmstat.pl diff --git a/vmstat.pl b/vmstat.pl new file mode 100755 index 0000000..6b92c25 --- /dev/null +++ b/vmstat.pl @@ -0,0 +1,42 @@ +#!/usr/local/bin/perl +# +# requires textproc/p5-XML-LibXML +# +use warnings; + +use XML::LibXML; + +my $filename = 'vmstat.xml'; + + +my %dict; +my $offset = 10; + +while (1) { + print scalar localtime() . "\n"; + system("/usr/bin/vmstat -z --libxo xml >$filename"); + $doc = XML::LibXML->load_xml(location => $filename); + foreach my $id ( $doc->findnodes('//zone')) { + my $name=$id->findvalue('name'); + my $used=$id->findvalue('used'); + + if ($name eq "vm pgcache") { + next; + } + + if (exists $dict{$name}) { + my $v0=$dict{$name} + $offset; + + if ($v0 < int($used)) { + print "$name: $v0 => $used \n"; + $dict{$name}=int(${used}); + } + } else { + $dict{$name}=int(${used}); + } + } + print "------------------------\n" ; + + sleep(5); +} + -- 2.45.0 From 57661d4dad14a480d618b9ad37bf2690d70eb346 Mon Sep 17 00:00:00 2001 From: David Marec Date: Sun, 7 May 2023 11:09:00 +0200 Subject: [PATCH 3/8] Perl script to check vmstat -m diffs --- vmstatm.pl | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 vmstatm.pl diff --git a/vmstatm.pl b/vmstatm.pl new file mode 100755 index 0000000..005b4a9 --- /dev/null +++ b/vmstatm.pl @@ -0,0 +1,36 @@ +#!/usr/local/bin/perl +# +# requires textproc/p5-XML-LibXML +# +use warnings; + +use XML::LibXML; + +my $filename = 'vmstatm.xml'; + +my %dict; +my $offset = 10; + +while (1) { + print scalar localtime() . "\n"; + system("/usr/bin/vmstat -m --libxo xml >$filename"); + $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) { + print "$name: $v0 => $used \n"; + $dict{$name}=$used; + } + } else { + $dict{$name}=$used; + } + } + print "------------------------\n" ; + + sleep(5); +} + -- 2.45.0 From 100eef73b68e12eee1a92644282b8f2924833761 Mon Sep 17 00:00:00 2001 From: David Marec Date: Sun, 7 May 2023 12:46:59 +0200 Subject: [PATCH 4/8] Format vmstat output --- vmstat.pl | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/vmstat.pl b/vmstat.pl index 6b92c25..9e7f436 100755 --- a/vmstat.pl +++ b/vmstat.pl @@ -3,6 +3,7 @@ # requires textproc/p5-XML-LibXML # use warnings; +use strict; use XML::LibXML; @@ -12,13 +13,16 @@ my $filename = 'vmstat.xml'; my %dict; my $offset = 10; + while (1) { print scalar localtime() . "\n"; + print "------------------------\n" ; system("/usr/bin/vmstat -z --libxo xml >$filename"); - $doc = XML::LibXML->load_xml(location => $filename); - foreach my $id ( $doc->findnodes('//zone')) { + my $doc = XML::LibXML->load_xml(location => $filename); + 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") { next; @@ -27,16 +31,23 @@ while (1) { if (exists $dict{$name}) { my $v0=$dict{$name} + $offset; - if ($v0 < int($used)) { - print "$name: $v0 => $used \n"; - $dict{$name}=int(${used}); + if ($v0 < $val) { +format DIFF_V0V1 = + @<<<<<<<<<<<<<<<<<<<<<< @######## => @######## + $name,$v0,$val +. + $~ = "DIFF_V0V1"; + write; + $dict{$name} = $val; } } else { - $dict{$name}=int(${used}); + $dict{$name} = $val; } } - print "------------------------\n" ; + + print "\n"; sleep(5); } + -- 2.45.0 From 56cb47bd31d42719e7109e7ff458f10984e4960e Mon Sep 17 00:00:00 2001 From: David Marec Date: Sun, 7 May 2023 20:04:17 +0200 Subject: [PATCH 5/8] Make offset tweakable --- vmstat.pl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vmstat.pl b/vmstat.pl index 9e7f436..79c395a 100755 --- a/vmstat.pl +++ b/vmstat.pl @@ -7,11 +7,17 @@ use strict; use XML::LibXML; +my ($offset) = @ARGV; + +if (not defined $offset) { + $offset = 10; +} + my $filename = 'vmstat.xml'; my %dict; -my $offset = 10; + while (1) { @@ -31,7 +37,7 @@ while (1) { if (exists $dict{$name}) { my $v0=$dict{$name} + $offset; - if ($v0 < $val) { + if ($v0 <= $val) { format DIFF_V0V1 = @<<<<<<<<<<<<<<<<<<<<<< @######## => @######## $name,$v0,$val -- 2.45.0 From dde2d0bee304dda389110e4c7155ef71b7a889d7 Mon Sep 17 00:00:00 2001 From: David Marec Date: Mon, 8 May 2023 10:02:18 +0200 Subject: [PATCH 6/8] fix duplicate name --- vmstat.pl | 6 ++++-- vmstatm.pl | 18 ++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/vmstat.pl b/vmstat.pl index 79c395a..2898f91 100755 --- a/vmstat.pl +++ b/vmstat.pl @@ -22,16 +22,18 @@ my %dict; while (1) { print scalar localtime() . "\n"; - print "------------------------\n" ; + print "------------------------\n"; 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") { - next; + $name = $name . "_$c"; + $c++; } if (exists $dict{$name}) { diff --git a/vmstatm.pl b/vmstatm.pl index 005b4a9..edeabdf 100755 --- a/vmstatm.pl +++ b/vmstatm.pl @@ -3,18 +3,23 @@ # requires textproc/p5-XML-LibXML # use warnings; +use strict; use XML::LibXML; my $filename = 'vmstatm.xml'; - my %dict; -my $offset = 10; + +my ($offset) = @ARGV; + +if (not defined $offset) { + $offset = 10; +} while (1) { print scalar localtime() . "\n"; system("/usr/bin/vmstat -m --libxo xml >$filename"); - $doc = XML::LibXML->load_xml(location => $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'); @@ -22,7 +27,12 @@ while (1) { my $v0=$dict{$name} + $offset; if ($v0 < $used) { - print "$name: $v0 => $used \n"; +format DIFF_V0V1 = + @<<<<<<<<<<<<<<<<<<<<<< @######## => @######## + $name,$v0,$used +. + $~ = "DIFF_V0V1"; + write; $dict{$name}=$used; } } else { -- 2.45.0 From 2ef0c434f70b42cfb04f0619f12384dc5ac68e43 Mon Sep 17 00:00:00 2001 From: David Marec Date: Mon, 8 May 2023 10:07:15 +0200 Subject: [PATCH 7/8] fix former value display --- vmstat.pl | 3 ++- vmstatm.pl | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/vmstat.pl b/vmstat.pl index 2898f91..37ca6bf 100755 --- a/vmstat.pl +++ b/vmstat.pl @@ -29,6 +29,7 @@ while (1) { 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") { @@ -42,7 +43,7 @@ while (1) { if ($v0 <= $val) { format DIFF_V0V1 = @<<<<<<<<<<<<<<<<<<<<<< @######## => @######## - $name,$v0,$val + $name,$dict{$name},$val . $~ = "DIFF_V0V1"; write; diff --git a/vmstatm.pl b/vmstatm.pl index edeabdf..6fb34e9 100755 --- a/vmstatm.pl +++ b/vmstatm.pl @@ -29,7 +29,7 @@ while (1) { if ($v0 < $used) { format DIFF_V0V1 = @<<<<<<<<<<<<<<<<<<<<<< @######## => @######## - $name,$v0,$used + $name,$dict{$name},$used . $~ = "DIFF_V0V1"; write; -- 2.45.0 From f8030e8ff0138c165e9edba544fb57317ffccbf8 Mon Sep 17 00:00:00 2001 From: David Marec Date: Mon, 8 May 2023 13:20:07 +0200 Subject: [PATCH 8/8] use builtin say --- vmstat.pl | 7 ++++--- vmstatm.pl | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/vmstat.pl b/vmstat.pl index 37ca6bf..9a4c21e 100755 --- a/vmstat.pl +++ b/vmstat.pl @@ -5,6 +5,7 @@ use warnings; use strict; +use feature 'say'; use XML::LibXML; my ($offset) = @ARGV; @@ -21,8 +22,8 @@ my %dict; while (1) { - print scalar localtime() . "\n"; - print "------------------------\n"; + say scalar localtime(); + say "------------------------"; system("/usr/bin/vmstat -z --libxo xml >$filename"); my $doc = XML::LibXML->load_xml(location => $filename); my $c = 0; @@ -54,7 +55,7 @@ format DIFF_V0V1 = } } - print "\n"; + say ''; sleep(5); } diff --git a/vmstatm.pl b/vmstatm.pl index 6fb34e9..1a4ea9c 100755 --- a/vmstatm.pl +++ b/vmstatm.pl @@ -4,6 +4,7 @@ # use warnings; use strict; +use feature 'say'; use XML::LibXML; @@ -17,7 +18,8 @@ if (not defined $offset) { } while (1) { - print scalar localtime() . "\n"; + 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')) { @@ -39,8 +41,8 @@ format DIFF_V0V1 = $dict{$name}=$used; } } - print "------------------------\n" ; + say ''; sleep(5); } -- 2.45.0