Batch CPU und Ram auslastung in Datenbank schreiben

DrBoB19

Newbie
Registriert
Aug. 2017
Beiträge
3
Hallo zusammen,
in ein paar Wochen steht bei mir im Verein ein Turnier an wo wir mithilfe von drei Laptops und einen raspberry pi 3b (als Datenbank Server) die Turnierleitung und Anmeldung durchführen. Aufgrund der Hitze und nicht vorhandenen Klimaanlage wird es auch recht warm in der Turnhalle. Daher würde ich gerne die CPU und Ram Auslastung (gerne auch Temperatur der CPU's) der drei Win 10 Laptops in eine Datenbank schreiben und mir dann später über eine Webansicht wieder ausgeben lassen. Am liebsten wäre mir eine einfache Batch Datei die im Hintergrund ausgeführt wird und wenig Ressourcen verbraucht.

Viele Grüße
DrBoB19
 
MSI-Afterburner: drei verschiedene Dateinahmen und Schreibrechte im Zielverzeichnis
793104
 
CPU Temperaturen per Batchdatei ohne zusätzliche Tools geht ohnehin nicht! Was die anderen Auslastungen angeht, hab ich vor einiger Zeit mal ein kleines Powershellscript gebastelt, das live die CPU-, Speicher- und Datenträgerlast loggt und zusätzlich in einer Textdatei auf dem Desktop ablegt.

Powershell - Auslastungen.jpg

Code:
$Endlos = 1
$Dateout = " Datum  "
$Timeout = "  Zeit  "
$Prozout = " Prozessor "
$Ramout = "  Speicher "
$DriveR = " Disk Read "
$DriveW = " Disk Write"
$Out = "$env:userprofile\desktop\CpuRamDrive.txt"
$Line = "|---------------------------------------------------------------------------|"
Write-Host -Foregroundcolor Green $Line
Write-Host -Foregroundcolor Green "|  $Dateout| $Timeout |$Prozout|$Ramout|  $DriveR  | $DriveW |"
Write-Host -Foregroundcolor Green $Line
Write-Output $Line | out-file $Out -append -noclobber
Write-Output "|  $Dateout| $Timeout |$Prozout|$Ramout|  $DriveR  | $DriveW |" | out-file $Out -append -noclobber
Write-Output $Line | out-file $Out -append -noclobber
Do
{
$Date = get-date -format dd.MM.yy
$Time = get-Date -format HH:mm:ss
$CPU = (get-wmiobject Win32_Processor).LoadPercentage
$Mem = (get-wmiobject Win32_PerfRawData_PerfOS_Memory).CommittedBytes
$Mem = [math]::round($Mem/1GB, 2)
$LwRead = (get-wmiobject Win32_PerfFormattedData_PerfDisk_LogicalDisk -filter "name='_total'").DiskReadBytesPerSec
$LwRead = [math]::round($LwRead/1MB, 2)
$LwWrite = (get-wmiobject Win32_PerfFormattedData_PerfDisk_LogicalDisk -filter "name='_total'").DiskWriteBytesPerSec
$LwWrite = [math]::round($LwWrite/1MB, 2)
Write-Host -Foregroundcolor Green "| $Date | $Time | $CPU    % | $Mem   GB | $LwRead       MB | $LwWrite     MB |"
Write-Output "| $Date | $Time | $CPU    % | $Mem   GB | $LwRead       MB | $LwWrite        MB |" | out-file $Out -append -noclobber
Sleep 1
}
While ($Endlos = 1)

Könnte man durchaus so modifizieren, dass es statt einer Textdatei auch direkt eine Html-, CSV- oder XML-Datei erzeugt. Das Script selbst erzeugt praktisch keine Systemlast.
 
DrBoB19 schrieb:
Am liebsten wäre mir eine einfache Batch Datei die im Hintergrund ausgeführt wird und wenig Ressourcen verbraucht.
aber hast du jetzt schon irgendwas versucht oder mal gesucht, oder soll das hier ein Auftrag sein?
 
  • Gefällt mir
Reaktionen: BeBur
RPI weiß ich grad nicht, aber Laptops sollten doch bei geinger Auslastung auch mal einen Nachmittag in einer warmen Halle überstehen.
 
Zurück
Oben