CPU und Mem vom prozess

  • Moin

    Ja für mein neues projekt brauche ich ein paar infos aus dem system

    Ich glaub ich hatte zum teil schon die bfehel dafür aber ich finde se nimmer

    Also MemGetStats gibt mir alles über den AB an was ich wissen wil das passt
    Aber zur CPU wie viele rechenkerne und wie weit die ausgelastet sind finde ich nix

    Dan zu den prozessen

    Da würde ich gerne bei der exploer.exe mal zum test was gerne rausfinden und zwar
    Wie lange geht das teil schon?
    Wieviel CPU verbaucht es
    Wieviel speicher verbraucht es

    Und da hatte ich mla ne funktion für glaub hat die infos aus der kernel.dll geholt
    das war die gesammt pc uptime
    Leider hab ich die func nicht mehr und kann se mir nimmer herleiten^^
    wißt ihr da zu was?

    EDIT: gesammt uptime habe ich doch wieder gefunden hat sich erledigt aber der rest noch net

    EDIT2: Okey die geschichte mit cpu und kerne hat sich geklärt jetz gehts noch um die prozesse

    3 Mal editiert, zuletzt von Matthias_199 (9. Oktober 2009 um 17:30)

  • Aber zur CPU wie viele rechenkerne und wie weit die ausgelastet sind finde ich nix

    Probier das mal:

    Spoiler anzeigen
    [autoit]

    $objRefresher = ObjCreate("WbemScripting.SWbemRefresher")

    [/autoit] [autoit][/autoit] [autoit]

    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")

    [/autoit] [autoit][/autoit] [autoit]

    $objRefreshableItem = $objRefresher.AddEnum($objWMIService , "Win32_PerfFormattedData_PerfOS_Processor")

    [/autoit] [autoit][/autoit] [autoit]

    $objRefresher.Refresh

    [/autoit] [autoit][/autoit] [autoit]

    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $i += 1
    Next
    EndIf
    Global $aCPU[$i]

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    [/autoit] [autoit][/autoit] [autoit]

    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $aCPU[$i] = $objItem.PercentProcessorTime
    $i += 1
    Next
    EndIf
    ConsoleWrite("============" & @CRLF)
    For $i = 0 To UBound($aCPU)-2
    ConsoleWrite("Core "&$i+1&": "&$aCPU[$i] & @CRLF)
    Next
    ConsoleWrite("Gesamt: "&$aCPU[UBound($aCPU)-1] & @CRLF)
    Sleep(500)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func OnAutoItExit()
    $objRefresher.DeleteAll
    EndFunc

    [/autoit]
  • ich vermute mal ja aber 100% kann ich nichts sagen bei meinem qaud tut er aber alle 4 anzeigen

  • ich vermute mal ja aber 100% kann ich nichts sagen bei meinem qaud tut er aber alle 4 anzeigen

    Was zeigt denn der Taskmanager an? Wie viele CPUs werden unter CPU Auslastung angezeigt? Wenn 4, dann hast du kein HT. Wenn 8 dann hast du HT!

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Btw,

    ich hatte auch mal dbzgl. was geschrieben :D Nichts wildes!

    [ gelöst ] CPU Auslastung Auslesen

    Calc.exe öffnet sich! Einfach mal 100000! (Fakultät) berechnen! :D

    Vielleicht nützt es ja jemanden!

    Gruß,
    UEZ

    HyperThreading (HT) wird nicht unterstützt!

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    5 Mal editiert, zuletzt von UEZ (26. April 2011 um 15:07)

  • ne sind 4 im tasknager die daten die das prog lifern sind volkommen okey...

    Gab es da nicht mla die hartneckige behauptung das der quadcore net ein dulcore blos in HT ist?

  • Also ich meine wie macht das der normale task manager die CPU verbrauch und den memverbrauch eines prozessses rauszufinden??