From dd2e205248bf6480527de083742863a289be527d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 10 Dec 2009 17:27:55 +0000 Subject: [PATCH] Fix the PagedOutMemory and PagedInMemory stats to report MB instead of pages (fixes supplied by Joachim Schneider). --- vhostmd.conf | 96 +++++++++++++++++++++++++++++++++++++--------------- vhostmd.spec | 6 +++- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/vhostmd.conf b/vhostmd.conf index 271e821..8afd303 100644 --- a/vhostmd.conf +++ b/vhostmd.conf @@ -43,12 +43,18 @@ within the vm element. VirtualizationVendor - rpm -qi libvirt| grep Vendor: |awk '{print substr($0, index($0,$5)) }' + + rpm -qi libvirt| grep Vendor: \ + | gawk '{print substr($0, index($0,$5)) }' + VirtProductInfo - virsh -r CONNECT version | grep API | gawk -F': ' '{print $2}' + + virsh -r CONNECT version | grep API \ + | gawk -F': ' '{print $2}' + @@ -58,61 +64,84 @@ within the vm element. NumberOfPhysicalCPUsUtilized - virsh -r CONNECT nodeinfo | grep 'CPU(s):' | gawk -F': +' '{print $2}' + + virsh -r CONNECT nodeinfo | grep 'CPU(s):' \ + | gawk -F': +' '{print $2}' + MemoryAllocatedToVirtualServers - virsh -r CONNECT nodeinfo | grep 'Memory size:' | gawk -F' +' '{ printf "%d\n", $3/1024 }' + + virsh -r CONNECT nodeinfo | grep 'Memory size:' \ + | gawk -F' +' '{ printf "%d\n", $3/1024 }' + FreePhysicalMemory - free|egrep -i '^[[:space:]]*(Mem:)' \ - |awk 'BEGIN { sum = 0; } + free|egrep -i '^[[:space:]]*(Mem:)' \ + | gawk 'BEGIN { sum = 0; } { sum += $4; } - END { printf "%10d\n", sum/1024; }' + END { printf "%d\n", sum/1024; }' UsedPhysicalMemory - free|egrep -i '^[[:space:]]*(Mem:)' \ - |awk 'BEGIN { sum = 0; } + free|egrep -i '^[[:space:]]*(Mem:)' \ + | gawk 'BEGIN { sum = 0; } { sum += $3; } - END { printf "%10d\n", sum/1024; }' + END { printf "%d\n", sum/1024; }' FreeVirtualMemory - free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ - |awk 'BEGIN { sum = 0; } + free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ + | gawk 'BEGIN { sum = 0; } { sum += $4; } - END { printf "%10d\n", sum/1024; }' + END { printf "%d\n", sum/1024; }' UsedVirtualMemory - free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ - |awk 'BEGIN { sum = 0; } + free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ + | gawk 'BEGIN { sum = 0; } { sum += $3; } - END { printf "%10d\n", sum/1024; }' + END { printf "%d\n", sum/1024; }' PagedInMemory - echo "$((`vmstat -s | gawk '/pages paged in/ {print $1}'` / 1024))" + + vmstat -s | gawk 'BEGIN { + cmd = "getconf PAGESIZE"; + cmd | getline pagesize; + close(cmd); + } + /pages swapped in/ { + printf "%d\n", $1 / 1024 * pagesize / 1024; + }' + - PagedOutMemory - echo "$((`vmstat -s | gawk '/pages paged out/ {print $1}'` / 1024))" + + vmstat -s | gawk 'BEGIN { + cmd = "getconf PAGESIZE"; + cmd | getline pagesize; + close(cmd); + } + /pages swapped out/ { + printf "%d\n", $1 / 1024 * pagesize / 1024; + }' + PageRates @@ -123,32 +152,45 @@ within the vm element. TotalCPUTime - virsh -r CONNECT dominfo NAME | sed 's/: */:/' | \ - gawk -F: '/CPU time/ {print $2;}' + + virsh -r CONNECT dominfo NAME | sed 's/: */:/' \ + | gawk -F: '/CPU time/ {print $2;}' + NumberOfAssignedPhysicalCPUs - virsh -r CONNECT dominfo NAME | grep 'CPU(s):' | gawk -F': +' '{print $2}' + + virsh -r CONNECT dominfo NAME | grep 'CPU(s):' \ + | gawk -F': +' '{print $2}' + PhysicalMemoryAllocatedToVirtualSystem - virsh -r CONNECT dominfo NAME | grep 'Max memory:' | gawk -F' +' '{printf "%d\n", $3/1024}' + + virsh -r CONNECT dominfo NAME | grep 'Max memory:' \ + | gawk -F' +' '{printf "%d\n", $3/1024}' + diff --git a/vhostmd.spec b/vhostmd.spec index 4a92a81..d67c77f 100644 --- a/vhostmd.spec +++ b/vhostmd.spec @@ -8,7 +8,7 @@ Summary: Virtualization host metrics daemon Name: vhostmd Version: 0.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -183,6 +183,10 @@ exit 0 %changelog +* Thu Dec 10 2009 Richard W.M. Jones - 0.4-2 +- Fix the PagedOutMemory and PagedInMemory stats to report MB instead + of pages (fixes supplied by Joachim Schneider). + * Wed Dec 9 2009 Richard W.M. Jones - 0.4-1 - vhostmd didn't chdir ("/") when daemonizing. Fixed in this 0.4 release.