Software/Skript/Cmd-Tool zur Bestimmung der Prozessor, Netzwerk und HDD-Last gesucht!



  • Hallo zusammen,

    der Titel sagt schon alles.
    Es sollte wenn möglich open source sein.

    Was kommerzielles habe ich schon gefunden.

    Danke für alle Antworten!



  • Achso, ja, für WINDOWS 🙂



  • Bitte ein paar Details mehr. Für welchen Einsatzzweck? Für welches OS?



  • Musst du irgendwas messen was nicht von den bereits in Windows integrierten Performance-Countern abgedeckt wird?
    Oder brauchst du die Daten in einem speziellen Format, so dass das integrierte Performance-Counter Erfassungsteil ausscheidet?
    Oder ...?



  • Es geht darum, den Rechner abhängig von diesen drei Lastindikatoren in den Sleep/Hybernate-Mode zu schalten.
    Die Last soll täglich in einem bestimmten Zeitraum gemessen werden.

    Es wäre also hilfreich, wenn die Daten in einem Format vorliegen würden, welches sich per CMD-Line parsen lässt.

    @hustbaer: Die Performancecounter sind ein guter Hinweis. Mal sehen wie man da über die kommandozeile rankommt...

    Gibt es sonst noch Vorschläge?



  • Danke, gelöst, keine weiteren Fragen!



  • Super, und wie? vielleicht haben ja mehr Leute das Problem und finden diesen Beitrag bei google.



  • Etwas verspätet kommt ein Lösungsansatz, der noch zu Ende geschrieben werden muss.

    Die drei Lastindikatoren habe ich über .vbs aus den Performancecountern gewonnen:

    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    set objRefresher = CreateObject("WbemScripting.Swbemrefresher")
    
    Set objNetwork = objRefresher.AddEnum (objWMIService, "Win32_PerfFormattedData_Tcpip_NetworkInterface").objectSet
    Set objProcessor = objRefresher.AddEnum (objWMIService, "Win32_PerfFormattedData_PerfOS_Processor").objectSet
    Set colDiskDrives = objRefresher.AddEnum (objWMIService, "Win32_PerfFormattedData_PerfDisk_LogicalDisk").objectSet
    
    objRefresher.Refresh
    
    For I = 1 to 100000
    
      For each item in objNetwork
          Wscript.Echo "NetworkBytesTotalPersec: " & item.BytesTotalPersec 
      Next
    
      For each item in objProcessor
          Wscript.Echo "ProcessorUse in %: " & item.PercentProcessorTime
      Next
    
      For Each item in colDiskDrives
          Wscript.Echo "Drive name: " & item.Name
          Wscript.Echo "Disk bytes per second: " & item.DiskBytesPerSec
          objRefresher.Refresh
      Next
    
      Wscript.Sleep 1000
      objRefresher.Refresh
    Next
    

    Die Seite die mir hierbei geholfen hat ist: http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/monitoring/performance/#MonitorProcessorUse.htm

    Jetzt gilt es noch, eine sinnvolle Sleepmode-policy aus den drei Lastwerten zu schustern und bei entsprechender Grenzwertüberschreitung in den Sleepmode zu schalten.

    Über den Taskplaner von Windows kann dann ein .bat mit diesem Skript zu gegebenen Zeiten ausgeführt werden.

    Gibts da Optimierungsmöglichkeiten?

    Schöne Grüße


Anmelden zum Antworten