Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 100% CPU last erzeugen (https://www.delphipraxis.net/157449-100-cpu-last-erzeugen.html)

DelTurbo 12. Jan 2011 12:32

100% CPU last erzeugen
 
Hi,

ich versuchen ein kleines tool zu machen was 100% CPULast erzeugen soll. Ich wollte das noch mit eventuell Sleep so anpassen das ich auch nur 50% "verbrate"

Nun habe ich 50.000 mal einen MD5 Hash von einer 700MB Datei errechnen lassen. Die last geht aber nur auf max. 80%.

Hat jemand eine idee wie ich das prob lösen könnte, oder eventuell sogar einen Codeschnippsel?

Vielen dank im voraus

Assarbad 12. Jan 2011 12:33

AW: 100% CPU last erzeugen
 
Benutze mehrere Threads parallel. Und mache die Anzahl der Threads abhängig von der Anzahl der Prozessorkerne.

DelTurbo 12. Jan 2011 12:43

AW: 100% CPU last erzeugen
 
Das tool läuft nur auf einem Kern. Wenn ich mehr als einen Thread erzeuge weiss ich nicht wie ich das danach z.b. auf 50% bringen soll.

Es ist ja im grunde das gleiche, als wenn ich das programm mehrmals starte. Aber dann fehlt mir leider die kontrolle.

Deep-Sea 12. Jan 2011 12:46

AW: 100% CPU last erzeugen
 
Nebenbei:
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
  While True do ;
end;
Das allein erzeugt bei einem CPU-Kern schon 100% Auslastung. Man muss dafür keine Hashes berechnen oder ähnliches.

Luckie 12. Jan 2011 12:48

AW: 100% CPU last erzeugen
 
Darf man fragen wozu das gut sein soll?

Wolfgang Mix 12. Jan 2011 12:54

AW: 100% CPU last erzeugen
 
Würde mich auch interessieren.

DelTurbo 12. Jan 2011 13:03

AW: 100% CPU last erzeugen
 
@Deep-Sea, das hatte ich als erstes gemacht. Stimmt, braucht 100%. Aber eine kontrolle ist dann nichtmehr möglich. Damit gibt es 100 oder 0.

Nun zum hintergrund der geschichte. Ich habe eine VM auf einen kern beschränkt. "Leider" ist hier ein i5 mit 2,8 drin. Ich möchte aber innerhalb der Virtuellen nicht mehr leistung haben als z.b. ein P4 mit 2,5ghz. Und da dachte ich das ich "einfach" ein tool mache was auf dem gleichen kern (auf dem host, nicht im guest) z.b. 50% last verbrät.

Gruss

Luckie 12. Jan 2011 13:06

AW: 100% CPU last erzeugen
 
Kann man in der VM nicht einstellen, welche Hardware emuliert werden soll?

Bernhard Geyer 12. Jan 2011 13:10

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von Luckie (Beitrag 1074147)
Kann man in der VM nicht einstellen, welche Hardware emuliert werden soll?

Es wird bei den meisten VM's keine HW-Emulation auf CPU-Ebene betrieben, sondern die SW läuft "native" auf der CPU.

DelTurbo 12. Jan 2011 13:11

AW: 100% CPU last erzeugen
 
Nur auf ESX. Dort kann man die Resourcen beschränken. Nicht in der WorkStation. Für den ESX fehlt mir aber die Hardware, und es wäre ein bissl arg teuer den weg zu gehen ;)

Assarbad 12. Jan 2011 14:06

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von DelTurbo (Beitrag 1074145)
Nun zum hintergrund der geschichte. Ich habe eine VM auf einen kern beschränkt. "Leider" ist hier ein i5 mit 2,8 drin. Ich möchte aber innerhalb der Virtuellen nicht mehr leistung haben als z.b. ein P4 mit 2,5ghz. Und da dachte ich das ich "einfach" ein tool mache was auf dem gleichen kern (auf dem host, nicht im guest) z.b. 50% last verbrät.

Die "Logik" ist irgendwie verdreht, meinste nicht?

Die CPU-Leistung definiert sich schon eine ganze Weile nicht mehr (und schon garnicht allein) an den Taktfrequenzen.

DelTurbo 12. Jan 2011 14:13

AW: 100% CPU last erzeugen
 
Das mit dem P4 war ein BEISPIEL. Leider scheint es wohl keine lösung zu geben. Eigentlich schade. Diese "SlowDown" oder "CpuBremse" und wie sie heissen laufen leider nicht.

jfheins 12. Jan 2011 14:14

AW: 100% CPU last erzeugen
 
du könntest deine CPU im Bios runtertakten :stupid:

Vll. so auf 500 MHz, je nach Bedarf ;)

DelTurbo 12. Jan 2011 14:21

AW: 100% CPU last erzeugen
 
Ich kann auch den Kühler abschrauben. Dann wird sie auch langsamer :-D

Muellermilchtrinker 12. Jan 2011 14:32

AW: 100% CPU last erzeugen
 
verschiedene CPUs und Mainboards kaufen und sich dann rechner bauen :stupid:

fnhofm 12. Jan 2011 14:36

AW: 100% CPU last erzeugen
 
Hi,

gab es nicht für Dos Spiele und ähnliches, Programme um den Rechner zu bremsen (hab' leider auf Anhieb keine Links oder Programmnamen gefunden). Vieleicht hilft Dir das weiter.

Gruß

DelTurbo 12. Jan 2011 14:41

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von DelTurbo (Beitrag 1074199)
Diese "SlowDown" oder "CpuBremse" und wie sie heissen laufen leider nicht.

Schon versucht.

p80286 13. Jan 2011 12:41

AW: 100% CPU last erzeugen
 
Liste der Anhänge anzeigen (Anzahl: 1)
meiner Meinung nach geht das nicht was Du vor hast.
Windows arbeitet alle anstehenden Aufgaben nach ihrer Priorität ab, darum sollte man Windows auch nicht als "Echtzeitsystem" verwenden, Du kannst nicht wissen wer Dir in die Suppe spuckt.
Solange eine Anwendung nicht ungewöhlich langsam wird, hat die CPU-Last überhaupt keine Aussagekraft. Laß z.B. mal per Batchdatei ein paar Gb hin und her kopieren und beobachte wie sich ein Programm verhält, das auf Plattenzugriffe angewiesen ist. 10% CPU-Last und gähnende Langeweile.

Gruß
K-H

edith:
ich hab gerade die 50% Möglichkeit gefunden:

DelTurbo 13. Jan 2011 17:03

AW: 100% CPU last erzeugen
 
Um das hier abzuschliessen, ich habe mal bissl gekramt und habe einen ESX zusammen bekommen. Dort kann man jedem (virtuellen) system die Mhz zuweisen oder auch nicht. Wenn nicht verwaltet VMWare das.

Ich finde das insofern von vorteil, wenn man etwas proggt und man wird "unsauber" merkt man das auf den schnellen kisten garnicht. Trotzdem danke an alle.

Gruss

PS.: Ich @!$%& hätte auch einen Laptop mit einem Pentium M 1,6 nehmen können um grad meine sache zu testen. Aber das wär ja zu einfach gewesen :roll:

QuickAndDirty 13. Jan 2011 19:47

AW: 100% CPU last erzeugen
 
Also sowas wie der Prime95 Stresstest ?
Das kann man mit mehreren instanzen auf verschiedenen Prozessoren gleichzeitig laufen lassen....

Wir benutzen das immer wenn man uns sagt das NUR BEI UNSERER SOFTWARE der Computer abstürzt...
Viele Admins kapieren das nicht das ein Computer mit einem Modernen Betriebssystem beim ausführen von normaler Windows Software NICHT abstürzen dürfen darf...dann stimmt was mit dem PC nicht...meist ist es ein thermischer Effekt am Prozessor wenn wir sowas vorgeworfen bekommen... Prime95 liefert dann in kürzester Zeit den Beweis...

http://www.zdnet.de/windows_system_v...5-155763-1.htm

DelTurbo 14. Jan 2011 10:22

AW: 100% CPU last erzeugen
 
Nein, dieser Test beslastet ja die CPU komplett. Was ich brauchte ist einen "langsameren" PC.

Nochmal zum hintergrund meines ersten gedanken. Ich dachte ich nehme z.b. ein prog das z.b. 50% last braucht. Dem gebe ich die prio hoch. Die Virtuelle läuft auf dem gleichen kern. Die sollte ja dann wesentlich langsamer sein, etwas um 40%. Aber im Taskmanager der Virtuellen würde 0% last angezeigt. Und dort hätte man schön sehen können ob das selbst geschrieben prog viel last braucht.

Nun kann man ja einfach hingehen und die soft auf z.b. einem P4, Pentium 1,6 oder sonst was testen. Mit dem ESX ist das viel angenehmer. Dort "takte" ich einfach die CPU für den rechner (Virtuellen) runter wie ich will und brauche nicht hin und her zu laufen.

Beispiel: Man proggt etwas und merkt garnicht das man z.b. eine schleife drin hat die performance frist ohne ende. Auf einem i5 760 fällt das überhaupt nicht auf. Gibt man sie weiter, und der jenige hat z.b. einen PIII mit 1Ghz, wird der als erstes fragen warum das prog so lahm ist und 100% last braucht.

OFFTOPIC:
Wer die Hardware anforderungen von ESX nicht erfüllen kann (schon alleine wegen den SCSI-Platten), ich glaube ab Workstation 6.5 kann man einen ESX innerhalb einer Virtuellen installieren. Das sollte aber dann möglichst auf einem eigenem System laufen, wo sonst nix anderes läuft. Besser ist natürlich wenn man es auf einem eigenen Rechner installieren kann. ESX ist ja ein eigenes "Bertriebssystem".

Gruss

EDIT: Trotzdem vielen dank an alle die helfen wollten.

haentschman 14. Jan 2011 10:30

AW: 100% CPU last erzeugen
 
Zitat:

Was ich brauchte ist einen "langsameren" PC.
...für so etwas bietet sich ein Laptop an. Im Batteriebetrieb kannst du die Energieoptionen so einstellen, daß dein Prozessor nur noch schleicht. Ein langsameres System wirst du wohl kaum noch finden.

himitsu 14. Jan 2011 12:39

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von haentschman (Beitrag 1074679)
Ein langsameres System wirst du wohl kaum noch finden.

hab im Keller noch 'nen P1 133 MHz rumstehen

DeddyH 14. Jan 2011 12:42

AW: 100% CPU last erzeugen
 
Ich könnte noch mit 166 MHz dienen, wenn man den runtertaktet... :roll:

markus5766h 14. Jan 2011 16:58

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von himitsu (Beitrag 1074698)
hab im Keller noch 'nen P1 133 MHz rumstehen

den kann ich noch toppen : 80586 mit 60MHz :zwinker:

BUG 15. Jan 2011 15:36

AW: 100% CPU last erzeugen
 
Ich hab hier noch einen Rechner stehen, der im "Turbo"-Modus mit 25MHz läuft (sonst mit 20MHz). Leider ist die BIOS-Batterie runter und seitdem läuft er nicht mehr :(

Luckie 15. Jan 2011 16:47

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von BUG (Beitrag 1074884)
Ich hab hier noch einen Rechner stehen, der im "Turbo"-Modus mit 25MHz läuft (sonst mit 20MHz). Leider ist die BIOS-Batterie runter und seitdem läuft er nicht mehr :(

Dieser Teil der Hardware sollte aber noch zu ersetzen sein. ;)

QuickAndDirty 15. Jan 2011 23:29

AW: 100% CPU last erzeugen
 
Zitat:

Zitat von Luckie (Beitrag 1074905)
Zitat:

Zitat von BUG (Beitrag 1074884)
Ich hab hier noch einen Rechner stehen, der im "Turbo"-Modus mit 25MHz läuft (sonst mit 20MHz). Leider ist die BIOS-Batterie runter und seitdem läuft er nicht mehr :(

Dieser Teil der Hardware sollte aber noch zu ersetzen sein. ;)

und dan braf die ports und interrupts für die seriellen schnittstellen wieder ordentlich im Bios eintragen damit die Seriel angeschlossene maus auch wieder funzt....ja so ein rechner (486er ) lief bei uns in der Firma noch bis vor kurzem...jetzt dient er nur dazu eine Urzeitliche version unserer Software noch debuggen zu können....als ob es Kunden gibt die so eine Hardware so lange behalten....aber wir sammeln ja alles


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz