CPU-Auslastung erhöhen?



  • start:
    if (1 == 1 || true)
    {
        goto start;
    }
    
    while (true)
    {
         std::cout << "BlaBlaBla" << std::endl;
    }
    


  • Übrigens wird auch bei mehreren Prozessen und Prozessoren die CPU-Auslastung 100% sein, wenn solch ein Programm irgendwo läuft. Ich habe so eine fehlerhafte Software, die zwar funktioniert, aber unnötigerweise irgendwo eine Endlosschleife anhat. Das Ding macht eigentlich nichts, aber mein Lüfter geht aus, sobald ich es schließe. 🙄

    @OP: Wehe dein Programm ist neben der blöden Endlosschleife nützlich! Mach ja ein sleep rein.



  • Eisflamme schrieb:

    @OP: Wehe dein Programm ist neben der blöden Endlosschleife nützlich! Mach ja ein sleep rein.

    Warum? Er will doch nur die Endlosschleife um die Last nach oben zu treiben.



  • Ja, das sind die Anfänge. Aber vielleicht baut er dann als Erweiterung noch etwas Nützliches drum herum und dann haben wir den Salat.



  • Eisflamme schrieb:

    Ja, das sind die Anfänge. Aber vielleicht baut er dann als Erweiterung noch etwas Nützliches drum herum und dann haben wir den Salat.

    Was meinst du ?
    Er will nicht nützliches machen nur ein Fun-Programm.

    kRYTEX79 schrieb:

    Ich will ein kleines Fun Programm schreiben, dass die Cpu-Auslastung auf 100% erhöht wird. Bitte schhickt mir den Code 😉



  • Jetzt lasst mir doch meine Paranoia.



  • Eisflamme schrieb:

    Jetzt lasst mir doch meine Paranoia.

    😃

    @kRYTEX79
    In "echten" Projekten keine Endlosschleifen bauen !!!


  • Mod

    Sheldor schrieb:

    while (true)
    {
         std::cout << "BlaBlaBla" << std::endl;
    }
    

    Herzlichen Glückwunsch! Du hast es geschafft, eine Endlosschleife ohne 100% Prozessorauslastung zu bauen.



  • SeppJ schrieb:

    Herzlichen Glückwunsch! Du hast es geschafft, eine Endlosschleife ohne 100% Prozessorauslastung zu bauen.

    Das std::cout << "Bla" << std::endl; hab ich aus langeweile geschrieben 🤡

    BTW.
    Hab gerade alle Vorschläge getestet und keine hat wirklich 100% Prozessorauslastung verursacht.


  • Mod

    Sheldor schrieb:

    BTW.
    Hab gerade alle Vorschläge getestet und keine hat wirklich 100% Prozessorauslastung verursacht.

    Das sollte eigentlich nicht sein. Wie hast du gemessen? Hast du die Auslastung einzelner Kerne betrachtet oder einen Durchschnitt über mehrere? Da alle Beispiele Einzelthreadprogramme sind, lasten sie natürlich auch nur einen Kern aus, der sollte dann aber schon 100% Last haben, wenn du nicht komische Sachen im Betriebssystemscheduler eingestellt hast.



  • kRYTEX79 schrieb:

    Ich will ein kleines Fun Programm schreiben ... Bitte schhickt mir den Code 😉

    Willst du es nun schreiben oder nur den Code kompilieren?



  • SeppJ schrieb:

    Sheldor schrieb:

    BTW.
    Hab gerade alle Vorschläge getestet und keine hat wirklich 100% Prozessorauslastung verursacht.

    Das sollte eigentlich nicht sein. Wie hast du gemessen? Hast du die Auslastung einzelner Kerne betrachtet oder einen Durchschnitt über mehrere? Da alle Beispiele Einzelthreadprogramme sind, lasten sie natürlich auch nur einen Kern aus, der sollte dann aber schon 100% Last haben, wenn du nicht komische Sachen im Betriebssystemscheduler eingestellt hast.

    Das ist ja der Punkt, da die Systeme heute standardmäßig mehr als einen Kern haben, kriegt man mit nur einem Thread keine 100%ige CPU-Auslastung hin ...
    Einfacher Vorschlag: Das Programm startet sich selbst - entweder 7 mal neu, oder einfach auch in der Endlosschleife immer wieder, DAS wäre doch mal 'ne schöne Systemauslastung ...



  • Belli schrieb:

    SeppJ schrieb:

    Sheldor schrieb:

    BTW.
    Hab gerade alle Vorschläge getestet und keine hat wirklich 100% Prozessorauslastung verursacht.

    Das sollte eigentlich nicht sein. Wie hast du gemessen? Hast du die Auslastung einzelner Kerne betrachtet oder einen Durchschnitt über mehrere? Da alle Beispiele Einzelthreadprogramme sind, lasten sie natürlich auch nur einen Kern aus, der sollte dann aber schon 100% Last haben, wenn du nicht komische Sachen im Betriebssystemscheduler eingestellt hast.

    Das ist ja der Punkt, da die Systeme heute standardmäßig mehr als einen Kern haben, kriegt man mit nur einem Thread keine 100%ige CPU-Auslastung hin ...
    Einfacher Vorschlag: Das Programm startet sich selbst - entweder 7 mal neu, oder einfach auch in der Endlosschleife immer wieder, DAS wäre doch mal 'ne schöne Systemauslastung ...

    Viel Spaß, das Ding dann wieder zu beenden. Die in der Endlosschleife gestarteten Programme starten sich ja wiederum in einer Endlosschleife neu (exponentielle Wachstum), du kannst die gar nicht schnell genug im Taskmanager abschießen.
    Ergo wird das System nach vermutlich wenigen Sekunden wegen der vielen Prozesse so sehr stehen, dass nur noch ein harter Reboot hilft, selbst wenn die Programme gar nichts machen würden. Ich denke soweit sollte es mit dem Programm dann nicht getrieben werden (es gibt durchaus auch sinnvolle Anwendungen für Programme, die die CPU auslasten).



  • Ach, man könnte zehn Instanzen starten, die sich dann eben NICHT weiter vermehren (Parametergesteuert), man könnte zwei Instanzen starten (ohne Parameter) und sich dann beenden (ist dann auch irgendwann voll, aber später), man könnte vor dem Start dieser Instanzen 5, 10 oder beliebig Sekunden warten usw. - dann hätte man die Möglichkeit, die Dinger wieder rauszuhauen ...
    Auf jeden Fall kriegt man so jeden Kern beschäftigt, darum sollte es in meinem Post gehen.
    Und um eine ernsthafte, sinnvolle Aufgabe geht es hier ausdrücklich nicht.



  • Oder als Nutzer startet man einfach das Programm N mal, wobei N == Anzahl der Kerne.



  • Belli schrieb:

    Das ist ja der Punkt, da die Systeme heute standardmäßig mehr als einen Kern haben, kriegt man mit nur einem Thread keine 100%ige CPU-Auslastung hin ...

    Vorsicht: Mein 2 Kerner bringts auch fertig dabei beide Kerne voll auszulasten. - Sollte nicht so sein, aber er tuts warum auch immer.



  • inflames2k schrieb:

    Vorsicht: Mein 2 Kerner

    Wahrscheinlich hat man Dich um einen Kern betrogen ...



  • Hab auch son Programm, dass meinen Laptop voll auslastet. Saut mir alle i7-Kerne zu 😞 Und ich sehe nicht, wie das multithreading-mäßig unterwegs sein könnte.



  • Eisflamme schrieb:

    Hab auch son Programm, dass meinen Laptop voll auslastet. Saut mir alle i7-Kerne zu 😞 Und ich sehe nicht, wie das multithreading-mäßig unterwegs sein könnte.

    Wer weis wie viele deiner Daten in verschiedenen Threads an die Vertreiber veräußert werden. 🤡

    Belli schrieb:

    inflames2k schrieb:

    Vorsicht: Mein 2 Kerner

    Wahrscheinlich hat man Dich um einen Kern betrogen ...

    Unwahrscheinlich. - Dann müsste ja das komplette System umgebogen wurden sein. -> Schließlich kann man ja nachprüfen wie viele vorhanden sind.



  • Schade. Kann mir keiner irgendeine lösung sagen, wie ich das machen könnte. Ihr müsst nicht den Quellcode schicken, ich wollte nur wissen was der einfachste Weg dazu ist.


Anmelden zum Antworten