100% Auslastung



  • Ja, danke, aber ich verstehe es nicht so wirklich.

    MfG
    Coda



  • hmm, also:

    while (clock() < endwait) {}
    

    Das ist eine while-schleife die non-stop den clock() Befehl aufruft. Dein Computer benutzt also seine komplette Rechenleistung um ununterbrochen clock() aufzurufen bis die Abbruchbedingung erreicht ist. Auf meinem Rechner sind das z.B 13.706.686 Aufrufe pro Sekunde. UNd genau da kommen deine 100% Rechenauslastung her...



  • Coda@linux.PrayLoad schrieb:

    Ja, danke, aber ich verstehe es nicht so wirklich.

    MfG
    Coda

    Hi,

    sieh es mal anders herum:
    - Dein Prozess hat nur dann weniger als 100% CPU-Auslastung, wenn der Rechner einem anderen Prozess (und sei es "idle") Rechenzeit zuweist.
    - Damit der Rechner das tut, musst Du ihm mitteilen, dass Du jetzt etwas Rechnezeit "übrig" hast.
    - Das teilst Du ihm mittels sleep() mit.

    (ich weiß, im Detail ist scheduling noch deutlich komplexer, aber das ist schonmal ein Grundprinzip)

    Gruß,

    Simon2.



  • Simon2 schrieb:

    guenni81 schrieb:

    ...

    Simon2 schrieb:

    Ist Dein Problem vielleicht, dass andere Prozesse in der Zeit nicht zu Zuge kommen ?

    Dies ergibt sich zwangsläufig automatisch wenn die CPU bei 100% Systemauslastung liegt.

    Es heißt aber nicht zwangsläufig, dass es ein Problem ist.
    Unsere Anwendungen hier laufen optimal mit 100% CPU-Auslastung.

    Gruß,

    Simon2.

    wenn ein programm nur auf eine Eingabe wartet order in Wirklichkeit gar nicht rechnet, dann ist es durchaus ein Problem.

    mfg.



  • joomoo schrieb:

    Simon2 schrieb:

    guenni81 schrieb:

    ...

    Simon2 schrieb:

    Ist Dein Problem vielleicht, dass andere Prozesse in der Zeit nicht zu Zuge kommen ?

    Dies ergibt sich zwangsläufig automatisch wenn die CPU bei 100% Systemauslastung liegt.

    Es heißt aber nicht zwangsläufig, dass es ein Problem ist.
    Unsere Anwendungen hier laufen optimal mit 100% CPU-Auslastung.

    Gruß,

    Simon2.

    wenn ein programm nur auf eine Eingabe wartet order in Wirklichkeit gar nicht rechnet, dann ist es durchaus ein Problem.

    mfg.

    Klar, wenn das Programm mit seiner CPU-Zeit nicht das tut, was es soll, ist ein Problem - aber das ist nichts Neues.
    Meine Aussage weiterhin: Es mag sein, dass eine 100%-CPU-Auslastung ein Symptom eines Problems ist ... für sich genommen ist sie aber kein Problem.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Klar, wenn das Programm mit seiner CPU-Zeit nicht das tut, was es soll, ist ein Problem - aber das ist nichts Neues.

    Nein, nicht nur das: Wenn ein Programm auch noch zuviel tut als es soll, und nicht seine CPU-Zeit abgibt, ist es auch ein problem.

    Meine Aussage weiterhin: Es mag sein, dass eine 100%-CPU-Auslastung ein Symptom eines Problems ist ... für sich genommen ist sie aber kein Problem.

    Er programmiert ja einen Countdown, der sollte nicht 100% verbrauchten.

    mfg.



  • joomoo schrieb:

    Simon2 schrieb:

    Klar, wenn das Programm mit seiner CPU-Zeit nicht das tut, was es soll, ist ein Problem - aber das ist nichts Neues.

    Nein, nicht nur das: Wenn ein Programm auch noch zuviel tut als es soll, ...

    "zuviel" gehört wohl auch zu "nicht, was es soll", oder ?
    Anders herum: Bist Du der Meinung, dass wirklich immer, wenn ein Programm 100%-CPUzeit bekommt, ein Problem vorliegt ?
    Wenn nein, habe ich Recht gehabt.
    Wenn doch, müssen wir das Konzept unserer seit Jahren erfolgreich laufenden Anwendung überarbeiten. 😃

    Gruß,

    Simon2.



  • Simon2 schrieb:

    joomoo schrieb:

    Simon2 schrieb:

    Klar, wenn das Programm mit seiner CPU-Zeit nicht das tut, was es soll, ist ein Problem - aber das ist nichts Neues.

    Nein, nicht nur das: Wenn ein Programm auch noch zuviel tut als es soll, ...

    "zuviel" gehört wohl auch zu "nicht, was es soll", oder ?

    Stimmt, wenn man es so sieht, dass das was es soll ja eigentlich nichts ist.

    Anders herum: Bist Du der Meinung, dass wirklich immer, wenn ein Programm 100%-CPUzeit bekommt, ein Problem vorliegt ?

    Nein natürlich nicht.

    Wenn nein, habe ich Recht gehabt.

    Womit? Dass es für sich genommen kein Problem ist? Okay, aber ich denke dass man in den meisten Fällen von einem Problem sprechen kann. Auch hier, andernfalls wäre die Frage nicht gestellt worden.

    mfg.



  • Könnt ihr euch darauf einigen, dass eine hohe CPU-Auslastung per se keine schlechte, sondern im Prinzip eine gute Sache ist -- sofern die verursachende Anwendung die Rechenzeit nicht mit Nichtstun verbrät?



  • ein countdown ist doch in nem timer viel besser untergebracht, den kann man dann auf 1 sek stellen, dann passt das und die auslastung ist minimal



  • Ich habe ein ähnliches Problem, ich möchte das mein Programm erst loslegt, wenn ich eine Tastaturkombi eingebe, aber es darf währenddessen natürlich keine Leistung fressen und im Hintergrund laufen. Ich in blutiger Anfänger und hab kein plan wie das funktioniert. Kann mir jemand helfen?


Anmelden zum Antworten