Seite 1 von 1
Esxi5.5 Ram auslastung auslesen
Verfasst: 22.01.2015, 20:38
von dzove
Guten Morgen,
Ich wollte fragen in welcher Datei oder mit welchem Befehl ich die Ram Auslastung im Terminal anzeigen lassen kann.
grus,
Vehbo
Verfasst: 22.01.2015, 20:54
von irix
Gib mal esxtop und dann 'm' ein.
Gruss
Joerg
Verfasst: 23.01.2015, 09:53
von dzove
Danke für die Antwort,
Dies hat mich einen Stück weiter gebracht, jetzt brauch ich nur noch für mein Skript, dass er automatisch das "m" eingibt damit ich den Wert bei "free" bekomme.
Folgendes hat nicht geklapt:
echo -i "m" | esxtop
Ich habe die Lösung nicht gefunden esxtop sofort mit der Option m zu starten.
Verfasst: 23.01.2015, 10:06
von JustMe
Schau Dir doch mal
an, und darin die Hinweise zur Konfigurationsdatei (Default: .esxtop50rc)
Verfasst: 23.01.2015, 10:07
von dzove
Danke, werde mir die Datei mal ansehen, melde mich dann wenn alles geklappt hat oder ich noch Hilfe brauch.
Verfasst: 23.01.2015, 10:10
von irix
Ich frage erstmal anders... "Was soll denn eigentlich bezweckt werden und was soll hinten heraus kommen?"
Das esxtop war eine richtige Antwort auf deine Frage aber ich glaube das diese einfach Falsch war.
Gruss
Joerg
Verfasst: 23.01.2015, 12:15
von dzove
Also ich brauche den Wert von free, da ich ein Script erstellen muss, der mir bei einem Wert unter 500 mb freien Speicher eine Logfile schreibt.
Nun ich habe es jetzt hingekriegt,dass beim eingeben von esxtop sofort die Option m funktioniert. Nun kann ich nicht die Werte in einer *.txt Datei speicher oder mit grep filtern da er mir was komisches ausgibt und zwar, die ganze Zeite solche sachen. Aber esxtop gibt mir das richtige aus, jedoch kann ich damit nicht arbeiten.
Code: Alles auswählen
0)\%P-State P6","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P7","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P8","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P9","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P10","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P11","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P12","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P13","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P14","\\localhost.fritz.box\PCPU Power State(PCPU 0)\%P-State P15","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%C-State C0","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%C-State C1","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%C-State C2","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%C-State C3","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P0","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P1","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P2","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P3","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P4","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P5","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P6","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P7","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P8","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P9","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P10","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P11","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P12","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P13","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P14","\\localhost.fritz.box\PCPU Power State(PCPU 1)\%P-State P15","\\localhost.fritz.box\PCPU Power State(PCPU 2)\%C-State C0","\\localhost.fritz.box\PCPU Power S
Dies hier word in der Datei gespeicher, falls ich es mittels esxtop in na datei speichere.
Verfasst: 23.01.2015, 12:31
von irix
Der ESXi kann per API in der Scriptsprache deiner Wahl abgefragt werden. Die API ist nur sehr eingeschraenkt was die Verwendung mit dem kostenlosen vSphere Hypervisor angeht. Sprich du must das mal ausprobieren.
Code: Alles auswählen
PowerCLI C:\> Get-vmhost
Name ConnectionState PowerState Id CpuUsage CpuTotal Memory Memory
Mhz Mhz UsageMB TotalMB
---- --------------- ---------- -- -------- -------- ------- -------
esx-node-99 Connected PoweredOn ...host 9659 27588 92779 131026
Gruss
Joerg
Verfasst: 23.01.2015, 14:07
von JustMe
Wenn's unbedingt in einem Skript auf der ESXi-Shell sein muss, und "buchstabengetreu" zum ersten Posting sein soll, kann man die Speicherauslastung auch z.B. so abfragen (ok,ok, viele Wege ...):
Code: Alles auswählen
~ # vim-cmd hostsvc/hostsummary | grep -i memory
memorySize = 68683862016,
overallMemoryUsage = 24910,
Um herauszubekommen, wieviel "frei" ist, muss man die beiden Parameter nach Normierung halt passend voneinander abziehen.
Es gilt aber zu bedenken, dass die Memory Usage durchaus dynamisch sein kann. Und den Host damit zu beschaeftigen, dauernd abzufragen, wie viel noch frei ist, halte ich persoenlich fuer fragwuerdig. Aber nur mal so als Machbarkeitsstudie oder Beschaeftigungstherapie...
Zum esxtop:
Der ist nicht dafuer gedacht, seine (Bildschirm-)Ausgaben in Capturedateien zu schreiben; deswegen findet man in einer solchen Datei nicht die "Titelzeilen", sondern muesste sich die Werte aus den gefangenen Daten zusammensetzen.
/edit:
Oder noch 'ne Variante, wenn diese Ausgabe eher dem Geweunschten entsprechend ausfallen sollte:
Code: Alles auswählen
~ # vsish -e get /memory/comprehensive
Comprehensive {
Physical memory estimate:100611212 KB
Given to VMKernel:100611212 KB
Discarded by VMKernel:0 KB
Mmap critical space:131080 KB
Mmap buddy overhead:24612 KB
Kernel code region:14336 KB
Kernel data and heap:10240 KB
Other kernel:1534776 KB
Non-kernel:30958836 KB
Reserved memory at low addresses:393216 KB
Free:67937332 KB
}
Quellenbeispiel
Verfasst: 23.01.2015, 20:58
von dzove
Danke für die Antworten.
Diese Zeile sieht interessant aus:
LG,
Vehbo
Verfasst: 24.01.2015, 15:36
von dzove
Danke euch vielmals,
Das script ist jetzt endlich fertig

Verfasst: 24.01.2015, 15:45
von irix
Na dann mal her mit dem guten Stueck! Keine falsche Bescheidenheit
Gruss
Joerg
Verfasst: 24.01.2015, 16:12
von dzove
Es sieht so aus, leider hatte ich keine Zeit es zu testen aber es musste funktionieren. Dieser Script wird immer gestartet wenn der Back gestartet wird. Da der Server oft einfriert wàhrend der Back làuft, da habe ich mir gedacht einen Script zu schreiben der Nachschaut ob es eine Ram Auslastung gibt.
Hàtte keine von euch mir eine gute Antwort gegebn, dann wèrde ich wahrscheinlech mit python auf den Ram Treiber zugreifen und mir die Werte selber geben die ich brauche aber das wàre zu schwer
Code: Alles auswählen
#!/bin/sh
### Script created by Dzogovic Vehbo, control the free place of Ram on Esxi Server ###
### Variablen ###
freeram = /tmp/freeram.sh.$$
freeram2 = /tmp/freeram2.sh.$$
### Command to look the freeram Information ###
vim-cmd hostsvc/hostsummary | grep -i memory >> $freeram
### Filtering to have just the number ###
tr -d 'Free: KB' < $freeram >> $freeram2
### Function if for write the log file ###
free=$(<$freeram2)
if [ $free < 600000 ]
then
echo "Alert the system is overload : free Ram - $free " >> /tmp/alert.log.`date +%Y%m%d`
scp /tmp/alert.log.`date +%Y%m%d` uadmin@192.168.25.13:/home/uadmin/logfile-esxi
else
echo "OK"
fi
rm /tmp/alert.log
rm /tmp/freeram*
exit 0