CPU und RAM Auslastungstest

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Daniel Baumert.

    CPU und RAM Auslastungstest

    Hallo.

    Ich würde gerne die CPU auslasten, einfach um den PC auf Herz
    und Nieren zu prüfen.

    Im Moment bin ich bei der EndStufe der Auslastung angelangt (die CPU sollte
    möglichst auf 100% Auslastung kommen).

    Folgenden Code benutze ich:

    VB.NET-Quellcode

    1. Private Sub CPUload()
    2. Do : Loop
    3. End Sub
    4. Private Sub doit()
    5. Parallel.For(1, Environment.ProcessorCount + 10, Sub(w) CPUload())
    6. End Sub


    Leider lastet das den PC nur zu 99% aus (in meinem Test werden
    2.18 GHZ von 2.2 beansprucht.)

    Kann man das noch effektiver machen, sodass man auf 100% Auslastung kommen kann?

    Ebenfalls hätte ich die Frage, wie ich per Vb.net die RAM Nutzung maximal gestalten kann.
    Vb.net Anwendungen sind ja auf nur 2 Gb limitiert (bei 32 bit).
    Wie kann man aber eine maximale RAM Nutzung durchführen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Daniel Baumert“ ()

    Daniel Baumert schrieb:

    Do : Loop
    Mit einer Endlosschleife?
    Gib ihm eine arithmetische Operation zu berechnen, z.B.

    VB.NET-Quellcode

    1. For i = 0 To 100000
    2. Dim s = Math.Sin(i)
    3. Dim c = Math.Cos(i)
    4. Dim t = Math.Tan(i)
    5. Next
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Da kommt der bei mir gerade mal auf 24% Auslastung :(
    Und das bei nem Intel Core 2 Duo CPU T7500 @ 2.2GHZ von 2009..


    Code ist:

    VB.NET-Quellcode

    1. Private Sub cc()
    2. For i As Integer = 0 To 100000
    3. Dim s As Double = Math.Sin(i)
    4. Dim c As Double = Math.Cos(i)
    5. Dim t As Double = Math.Tan(i)
    6. Next
    7. End Sub
    8. Private Sub doit()
    9. Parallel.For(1, Environment.ProcessorCount + 10, Sub(w) cc())
    10. End Sub
    11. Sub Main()
    12. doit()
    13. Console.ReadKey()
    14. End Sub
    bastel dir einfach etwas was jede sekunde etwas überprüft... ich hatte das mal gemacht das er jeden 0 tick (also immer durch) die verbidung zu einem tcp-server überprüfen sollte.

    das war für mich eigentlich nur zufall das dabei die cpu auf 100% gegangen ist...


    ich glaube bei der ramauslastung wird das ehr schwerer... ich kenne auch kein programm das den ram zur laufzeit überprüft und 100% auslastet (memtest is ganz gut). wobei es für windws auch selber ein ramtest gibt. weiss aber grad nich mehr wie man den startet... (musst du mal googlen)

    hier mal mein code. wie gesagt ist eine tcp-verbindungstest gewesen


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public connectioncheck As New Threading.Thread(AddressOf connectioncheckthread)
    2. 'zum starten das hier benutzen
    3. connectioncheck.Start()
    4. public sub xxx
    5. Do
    6. Thread.Sleep(1) 'wenn du das ausbast hast du 100% auslastung
    7. If client.Connected = False Then
    8. Me.Dispatcher.Invoke(New startsound(AddressOf startsoundthread), "conectionlost.wav") 'hier wird ein sound abgespielt. kannst du gerne ausbauen
    9. MsgBox("Conection lost" & vbNewLine & "Please restart!")
    10. isclientconnected = "false"
    11. End If
    12. Loop Until isclientconnected = "false"
    13. end sub
    Ich denke mal, dass das System verhindert, dass Du mit solch "simplen" Algorithmen die 100 % schaffst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab erst vor ein paar Tagen eine Klasse geschrieben, welche eine Datei einliest und jede einzelne Byte in eine extra TxT-File schreibt. Das hat meinen PC ganz schön lange beschäftigt ^^ Vielleicht hilft dir sowas? LG

    P. S. Zum Platz sparen die Dateien einfach wieder löschen ^^

    ChOoSeMyNaMe schrieb:

    ganz schön lange
    Festplattenoperationen dauern lange, sind aber nicht sehr auslastungs-intensiv.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Daniel Baumert schrieb:

    Kann man das noch effektiver machen, sodass man auf 100% Auslastung kommen kann?
    99% ist schon ganz gut.
    Das Betriebssystem hat auch noch ein paar Kernelprozesse, die in der Priorität über jedem User-Prozess stehen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Einfach große Mengen an Controls auf einer Form laden :)
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."