Virtuelle Server

ID #1246 Speicher anzeigen mit vzfree

Problem:

Virtuelle Server haben viele Tücken. Eine davon ist die Bestimmung des Speichers.
Hier gibt es eine Script welches aus /proc/user_beancounters die passenden Werte bestimmt und anzeigt.

#!/bin/bash
#
# /usr/local/bin/vzfree.sh
#

x=$(cat /proc/user_beancounters |grep privvmpages|awk 'BEGIN{ cur=max=lim=0; }{ cur+=$2;
max+=$3;lim+=$5 } END {print cur*4/1024,max*4/1024,lim*4/1024}')
zugesichert=$(cat /proc/user_beancounters |grep oomguarpages|awk 'BEGIN{ cur=max=lim=0; }{ lim+=$4 }
END { print lim*4/1024}')

momentan=$(echo $x| awk '{print $1}')
maximalgenutzt=$(echo $x| awk '{print $2}')
maximalnutzbar=$(echo $x| awk '{print $3}')

echo "VPS Speichernutzung:"
echo "Momentan genutzt:       $momentan MB"
echo "Maximal genutzt:        $maximalgenutzt MB"
echo "Zugesichert:            $zugesichert MB"
echo "Maximal nutzbar:        $maximalnutzbar MB"

Installation:

Entweder per Cut&Paste:

edit /usr/local/bin/vzfree
chmod +x /usr/local/bin/vzfree

Oder als Download:

wget -O /usr/local/bin/vzfree http://www.huschi.net/download/vzfree.txt
chmod +x /usr/local/bin/vzfree

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2007-08-03 14:28     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   5 von 5 (6 Bewertungen)

Artikel kommentieren

Kommentar von micha17 (2008-04-08 15:09:05):
Das klappt ja sehr schön. Wie bekommt man denn die speicherfresser heraus ?

Kommentar von nikosch (2009-01-14 12:15:16):
Statt der umständlichen cat - grep - awk Konstrukte wäre die richtige Anwendung von awk doch deutlich einfacher.
Statt folgendem:
cat /this/file | grep blupp | awk '{tu was}'
könnte man folgendes verwenden:
awk '/blupp/ {tu was}' /this/file

schöner, sauberer, effizienter...

Kommentar von Mario (2009-02-25 13:02:03):
Hi,
als Output kommt bei mir:

VPS Speichernutzung:
Momentan genutzt: 11,3359 MB
Maximal genutzt: 71,9453 MB
Zugesichert: 3,60288e+16 MB
Maximal nutzbar: 3,60288e+16 MB

Läuft auf neuem Debian Minimalsystem.
Idee?

Gruß

Kommentar von Daniel (2010-02-18 20:21:46):
Der grep in der dritte Zeile muss anders lauten:
... user_beancounters |grep vmguarpages|awk 'BEGIN{ ...

Kommentar von huschi (2010-02-19 10:13:04):
@Daniel:
Aber nur wenn oomguarpages nicht vorhanden ist. Siehe auch:
http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUBCMgmt/18778.htm

huschi.

Kommentar von Joachim Wirth (2012-06-13 14:07:10):
Bei mir bringt das Skript seit dem Upgrade auf Strato V-PowerServer M (V 4.6), Debian 5.0.10, auch keine plausiblen Ergebnisse mehr. In der Datei /proc/userbeancounts steht bei Limit in allen Kategorien wie z.B. oomguarpages der Wert 9223372036854775807. (Entweder dieser Wert oder 0). Für mich gibt das keinen Sinn. Ideen?

Kommentar von Bachsau (2012-06-24 05:02:49):
Version die auch den wirklich genutzten Speicher anzeigt:

#!/bin/bash
#
# /usr/local/bin/vzfree
# Überarbeitet von Bachsau

privvmpages=$(cat /proc/user_beancounters |grep privvmpages|awk 'BEGIN{ cur=max=lim=0; }{ cur+=$2;max+=$3;lim+=$5 } END {print cur*4/1024,max*4/1024,lim*4/1024}')
oomguarpages=$(cat /proc/user_beancounters |grep oomguarpages|awk 'BEGIN{ cur=max=lim=0; }{ cur+=$2;max+=$3;lim+=$4 } END { print cur*4/1024,max*4/1024,lim*4/1024}')

momentan_verwendet=$(echo $oomguarpages| awk '{print $1}')
maximal_verwendet=$(echo $oomguarpages| awk '{print $2}')
momentan_zugewiesen=$(echo $privvmpages| awk '{print $1}')
maximal_zugewiesen=$(echo $privvmpages| awk '{print $2}')
zugesichert=$(echo $oomguarpages| awk '{print $3}')
nutzbar=$(echo $privvmpages| awk '{print $3}')

echo
echo "VPS Speichernutzung"
echo "———————————————————"
echo "Momentan verwendet: $momentan_verwendet MB"
echo "Maximal verwendet: $maximal_verwendet MB"
echo "Momentan zugewiesen: $momentan_zugewiesen MB"
echo "Maximal zugewiesen: $maximal_zugewiesen MB"
echo "Zugesichert: $zugesichert MB"
echo "Nutzbar: $nutzbar MB"
echo