AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Prozessorauslastung bei Schleifen

Ein Thema von TheMiller · begonnen am 27. Okt 2008 · letzter Beitrag vom 27. Okt 2008
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Prozessorauslastung bei Schleifen

  Alt 27. Okt 2008, 16:49
Guten Abend!

Ich schreibe gerade ein gaaanz simples Programm, welches Aktionen in einer Schleife solange ausführt, bis sie der User abbricht. Dabei geschehen keinerlei großen Berechnungen und die Schleife ist auch nicht groß. Allerdings ist die Auslastung meines Prozessors bei 90% - 100%. Nun, ich benutze kein Sleep in der while-Schleife.

Da es sein kann, dass diese Schleife mehrere Stunden läuft, stelle ich mir die Frage, ob das nicht für den Prozessor "gefährlich" sein kann, wenn er permanent auf so einer Belastung läuft. Kann das sein?

Wieso ist die Auslastung eigentlich überhaupt so hoch bei Schleiden?

Danke im Voraus!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Prozessorauslastung bei Schleifen

  Alt 27. Okt 2008, 16:55
Zitat von DJ-SPM:
ob das nicht für den Prozessor "gefährlich" sein kann, wenn er permanent auf so einer Belastung läuft. Kann das sein?
Nein, nicht wenn er normal gekühlt wird. Wenn sie das nicht ab könnten, also das wäre schon ein Hammer ^^
Edith übernimmt hier jedoch keine Verantwortung für Abenteurer die meinen die letzten 0,1% durch Übertaktung herausholen zu müssen, oder gar eine Kühlung Marke Eigenbau einsetzen.

Zitat von DJ-SPM:
Wieso ist die Auslastung eigentlich überhaupt so hoch bei Schleiden?
Weil... nun ja, halt die ganze Zeit etwas zu tun ist. Ich finde das recht offensichtlich um ehrlich zu sein.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: Prozessorauslastung bei Schleifen

  Alt 27. Okt 2008, 16:56
Hi,

Zitat von DJ-SPM:
Da es sein kann, dass diese Schleife mehrere Stunden läuft, stelle ich mir die Frage, ob das nicht für den Prozessor "gefährlich" sein kann, wenn er permanent auf so einer Belastung läuft. Kann das sein?
Nein, da brauchst Du Dir keine Sorgen zu machen. Die meisten Prozessoren wurden dafür gebaut, dass sie auch benutzt werden. Dass es dabei mal zu hoher Rechenleistung kommt ist durchaus normal. Kennst Du sicherlich von Spielen oder vielleicht HD-Filmen, die belasten auch mal längere Zeit die CPU (häufig wenn die Grafikkarte nicht zur Entlastung beiträgt), jedenfalls geht das schon. Trotzdem sollte HW natürlich nie zu warm werden, bekommt der überhaupt nicht gut. Solltest Du also eine aktuelle CPU (nicht Atom ohne Kühlung betreiben hast Du ein Problem... Auch nicht wirklich. Moderne Systeme haben ein paar (ungenaue, aber ausreichende) Temperatursensoren, die sorgen für eine rechtzeitige Abschaltung (trotzdem lieber nicht ausprobieren!)

Zitat von DJ-SPM:
Wieso ist die Auslastung eigentlich überhaupt so hoch bei Schleiden?
Nun ja, Dein Programm nutzt immer die volle Rechenzeit die es bekommt. Ist kein anderes Programm (gleicher oder höherer Priorität) an dieser interessiert, wird Dein Programm also eine Menge davon bekommen. Und das Programm selbst macht was Du ihm sagst, in einer Schleife wiederholt es also eine bestimmte Aktion. Entsprechend hängt die CPU - Auslastung allein davon ab, was Du in Deiner Schleife machst. Setzt Du z.B. ein Application.ProcessMessages(); ein, sinkt die Rechenzeit (die Suche verrät Dir auch warum)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Prozessorauslastung bei Schleifen

  Alt 27. Okt 2008, 17:21
Ich werfe jetzt einfach mal ein üaar Dinge ein
[quote="DJ-SPM"]Allerdings ist die Auslastung meines Prozessors bei 90% - 100%.
Zitat:
Bei mir läuft das Teil bestimmt nur mt 25% Prozessorauslastung

Zitat:
Da es sein kann, dass diese Schleife mehrere Stunden läuft, stelle ich mir die Frage, ob das nicht für den Prozessor "gefährlich" sein kann, wenn er permanent auf so einer Belastung läuft. Kann das sein?
Nein. Prozessoren werden ja dafür ausgelegt, belastet zu werden.
(Ich stelle mir grad vor "Ich habe ein Auto gekauft - ist es gefährlich, weenn ich damit längere Zeit fahre?" )


Zitat von Der_Unwissende:
Setzt Du z.B. ein Application.ProcessMessages(); ein, sinkt die Rechenzeit (die Suche verrät Dir auch warum)
Häufiger Irrglaube. Wenn keine Messsages zu verarbeiten sind, macht Application.Processmessages auch nichts. Auch ein sleep(0) hilft nicht immer - wenn kein anderer Prozess rechnen will, wird eben derselbe Prozess direkt wieder drankommen.

also kann auch ein while true do begin inc(i); sleep(0); end; Einen Kern voll auslasten.

P.S, bei meinem Notebook ist einemal beim DVD-gucken der Lüfter ausgefallen - es ist bei 105° einfach ausgegangen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Prozessorauslastung bei Schleifen

  Alt 27. Okt 2008, 18:11
Zitat von jfheins:
Ich werfe jetzt einfach mal ein üaar Dinge ein
Zitat von DJ-SPM:
Allerdings ist die Auslastung meines Prozessors bei 90% - 100%.
Bei mir läuft das Teil bestimmt nur mt 25% Prozessorauslastung
Nicht wenn er so zukunftsorientiert war und gleich das Multithreaded gemacht hat.

Aber es ist ja klar das der Kern eine 100%ige Auslastung hat, weil er bekommt ständig was zu tun: Zwar nur in der Schleife weiter zu gehen, aber damit ist er nach ein paar Takten durch. Und dann kommt schon die nächste Aufgabe: Die Schleife weitermachen.

Zitat von Der_Unwissende:
Setzt Du z.B. ein Application.ProcessMessages(); ein, sinkt die Rechenzeit (die Suche verrät Dir auch warum)
Häufiger Irrglaube. Wenn keine Messsages zu verarbeiten sind, macht Application.Processmessages auch nichts.[/quote]
Aber er muss dennoch nachgucken: Sind Messages zu verarbeiten ... Also hast du danach vielleicht 99% statt 100%

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz