Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitteln? (https://www.delphipraxis.net/41179-wie-speicherbedarf-cpu-auslastung-eines-prozesses-ermitteln.html)

Catbytes 27. Feb 2005 14:26


Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitteln?
 
Hallo,

bezugnehmend auf diesen Thread:

Kann man auch irgendwie noch den Speicherbedarf bzw. die CPU-Auslastung eines Prozesses ermitteln?

toms 28. Feb 2005 00:02

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Hi,

Suche mal hier: Bei Google suchencpu usage process Delphi

Christian Seehase 1. Mär 2005 20:21

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Moin Catbytes,

ersteres dürfte sich durch MSDN-Library durchsuchenGetProcessMemoryInfo machen lasssen, letzteres müsste über MSDN-Library durchsuchenPerformance Monitoring gehen (MSDN-Library durchsuchenStartTrace usw.)

Insider2004 1. Mär 2005 20:46

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
http://www.swissdelphicenter.ch/torr...ode.php?id=969

tobster 18. Mär 2005 09:41

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von Catbytes
Kann man auch irgendwie noch [...] die CPU-Auslastung eines Prozesses ermitteln?

Würde mich auch brennend interessieren. Die bereits erbrachten Antworten sind da ja nicht wirklich hilfreich.

Catbytes 18. Mär 2005 09:56

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von tobster
Zitat:

Zitat von Catbytes
Kann man auch irgendwie noch [...] die CPU-Auslastung eines Prozesses ermitteln?

Würde mich auch brennend interessieren. Die bereits erbrachten Antworten sind da ja nicht wirklich hilfreich.

Ja - irgendwie werde ich hier ignoriert :|

himitsu 18. Mär 2005 11:05

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von Catbytes
Ja - irgendwie werde ich hier ignoriert :|

hmmm?

Zitat:

Zitat von Christian Seehase
Moin Catbytes,

ersteres dürfte sich durch MSDN-Library durchsuchenGetProcessMemoryInfo machen lasssen, letzteres müsste über MSDN-Library durchsuchenPerformance Monitoring gehen (MSDN-Library durchsuchenStartTrace usw.)

:warn: Das GetProcessMemoryInfo sieht doch zumindestens gut aus?
Einfach das Handle des entsprechenden Prozesses besorgen (wie steht irgendwo im Forum) und mit diesem Handle dann per GetProcessMemoryInfo di Werte abfragen (dazu steht alles im MSDN)

Basilikum 18. Mär 2005 11:57

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
und mit diesem Handle und MSDN-Library durchsuchenGetProcessTimes kannst du dir dann noch die CPU-Usage ausrechnen

tobster 18. Mär 2005 12:18

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Klasse, noch mehr MSDN-Gedöhns

Christian Seehase 18. Mär 2005 21:38

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Moin tobster,

Zitat:

Zitat von tobster
Klasse, noch mehr MSDN-Gedöhns

ja und?

tobster 19. Mär 2005 08:16

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Das Problem an solchen Foren ist IMMER, das man stets zu hören bekommt, man solle hier und da suchen. Und das kotzt mich so richtig an. Ich meine, denken denn alle, man ist bescheuert und hat noch nicht gesucht? Solche Antworten sind mehr als kontrproduktiv, weil man noch mehr Zeit damit verschwendet ins Forum zu gehen und nachzusehen, welche geistlosen Ergüsse man sich wieder durchlesen muss.
Könnt Ihr euch vorstellen, das, wenn man in einem Forum nach Hilfe fragt, auch Hilfe erwartet? Stattdessen wird man irgendwo anders hingeschickt. Wirklich sehr hilfreich, echt.

BTW: Ich hab das Problem mittlerweile gelöst, auch OHNE die Hilfe hier. Wäre bloss echt einfacher gewesen, wenn's einer von den achso schlauen einfach hier gepostet hätte, wenn schon bekannt ist, wie's gemacht wird.

Sorry, aber so eine Mentalität (wie sie übrigens in sämtlichen Bereichen - offline inklusive - zufinden ist) ist absolut das letzte.

NicoDE 19. Mär 2005 08:26

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von tobster
Das Problem an solchen Foren ist IMMER, das man stets zu hören bekommt, man solle hier und da suchen.

Das Problem ist manchmal, dass einige nicht begreifen wollen, dass bestimmte Kommunikationsformen - wie Foren - bestimmen Regeln folgen, damit beide Seiten nicht frustriert auseinander gehen.
Es kommt immer wieder vor, dass Fragesteller nicht in der Lage sind ihr Problem so zu schildern, dass ihnen effektiv geholfen werden kann.
Und es bleibt nicht aus, dass hilfreiche Leute einfach nicht verstehen, was der Fragesteller möchte.

Zitat:

Zitat von tobster
Und das kotzt mich so richtig an.

Entspann Dich ein wenig :)

Zitat:

Zitat von tobster
Ich meine, denken denn alle, man ist bescheuert und hat noch nicht gesucht?

Nein, aber den meisten fehlt nur das 'richtige' Stichwort zur Suche.

Zitat:

Zitat von tobster
Solche Antworten sind mehr als kontrproduktiv, weil man noch mehr Zeit damit verschwendet ins Forum zu gehen und nachzusehen, welche geistlosen Ergüsse man sich wieder durchlesen muss.

Willkommen im Klub.

Zitat:

Zitat von tobster
BTW: Ich hab das Problem mittlerweile gelöst, auch OHNE die Hilfe hier. Wäre bloss echt einfacher gewesen, wenn's einer von den achso schlauen einfach hier gepostet hätte, wenn schon bekannt ist, wie's gemacht wird.

Alles klar bei Dir?
Es von Dir hilfreich gewesen, wenn Du die Lösung gepostest hättest.

tobster 19. Mär 2005 08:51

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von NicoDE
Es kommt immer wieder vor, dass Fragesteller nicht in der Lage sind ihr Problem so zu schildern, dass ihnen effektiv geholfen werden kann. Und es bleibt nicht aus, dass hilfreiche Leute einfach nicht verstehen, was der Fragesteller möchte.

Naja, aber an der Frage "Kann man auch irgendwie noch [...] die CPU-Auslastung eines Prozesses ermitteln?" kann man eigentlich nicht viel falsch verstehen. Aber um diese spezielle Frage gings mir auch eigentlich nebensächlich... Ist halt so, das sich das Schema ständig wiederholt, was Foren ad absurdum führt.

Zitat:

Zitat von NicoDE
Entspann Dich ein wenig :)

Ist schon OK, nur wenn man immer alles ignoriert, läuft man im schlimmsten Fall irgendwann AMOK... Da find ich es besser einfach ab und zu das zu sagen, was mir auffällt. So eine Art Teekesselchen, das Dampf ablässt.

Zitat:

Zitat von NicoDE
Nein, aber den meisten fehlt nur das 'richtige' Stichwort zur Suche.

Das ist wahr. Anfürsich war ein Stichwort in diesem Thread sogar hilfreich. Nur eben das Stichwort stellt nur noch keine Lösung dar.

Zitat:

Zitat von NicoDE
Willkommen im Klub.

Das bleibt halt rekursiv... ;-)

Zitat:

Zitat von NicoDE
Alles klar bei Dir?Es von Dir hilfreich gewesen, wenn Du die Lösung gepostest hättest.

Und allen anderen die Möglichkeit nehmen, auf die selbe lustige Art herauszufinden, wie's geht? Warum sollten es andere einfach haben, als ich? Davon abgesehen, kann man mich ja kontaktieren...

NicoDE 19. Mär 2005 09:00

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von tobster
Und allen anderen die Möglichkeit nehmen, auf die selbe lustige Art herauszufinden, wie's geht?

...ist halt eine Standardfrage, welche schon oft beantwortet wurde. Bei solchen Themen schreibt kaum einer fertige Lösungen, da sie dem Fragesteller selten helfen.

Wie auch immer, ein ruhiges Wochenende :)

himitsu 19. Mär 2005 11:48

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Genau, erstens helfen die fertigen Lösungen nicht (der Suchenden sollten das ja möglichst auch lernen und begreifen), dann hat nicht jeder Zeit und Lust das auch nch fertig zu liefern und dann auch noch kostenlos (wenn der Suchende natürlich was zahlt, dann ist das was anders ...).
Außerdem, sagen wir ja nicht nur wo man suchen muß, sondern auch nach was, somit lernt der Suchende auch noch wie und wo man was finden kann.

tobster 19. Mär 2005 12:15

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Ich sag's ja: Egoismus-Gesellschaft... Davon abgesehen ist der Post so ziemlich kacke.

1. Fertige (funktionierende) Lösungen lassen sich leichter abändern, als Neuentwicklungen.
2. Lässt sich das genauso gut begreifen, wie beim selbst machen (wenn nicht, hilft auch selbermachen nix, weil derjenige eh nicht aufnahmefähig ist)
3. Hab ich nichts davon erzählt, das man das Problem für jemand anderen lösen soll, sondern, wenn man fertig Lösungen hat, die posten kann, wenn die Frage darauf passt.

himitsu 19. Mär 2005 12:40

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von tobster
2. Lässt sich das genauso gut begreifen, wie beim selbst machen (wenn nicht, hilft auch selbermachen nix, weil derjenige eh nicht aufnahmefähig ist)

Also, wenn der/diejenige das wirklich lernen will, dann helfen wir natürlich auch bei Problemen, aber es hat nunmal keiner wiklich Lust ständig etwas für Leute zu machen die Die ankommen und es gleich fertig haben wollen, nur weil sie absolut keine Bock haben es selber zu machen.

Damit ist dann auch die 1. Aussage hinfällig.
Zitat:

Zitat von tobster
Ich sag's ja: Egoismus-Gesellschaft... Davon abgesehen ist der Post so ziemlich kacke.

Also, wie gesagt, wer etwas fertiges haben möchte, der kann sich ja an einen "professionellen" Entwickler wenden!


Zitat:

Zitat von tobster
1. Fertige (funktionierende) Lösungen lassen sich leichter abändern, als Neuentwicklungen.

Wenn es etwas fertiges gibt und wir dieses auch kennen, dann sagen wir das auch, aber bei diesem ist halt nichts da ...

Aber wenn Catbytes, von mir auch auch mit unserer Hilfe dann etwas geschaffen hat, dann kann er es ja anderen Bereitstellen und wenn dann mal wieder jemand danach fragt, verweisen wir den-/diejenigen dann mit Freude darauf :zwinker:

Luckie 19. Mär 2005 13:40

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von tobster
1. Fertige (funktionierende) Lösungen lassen sich leichter abändern, als Neuentwicklungen.

Na dann poste doch deine fertige Lösung.

Catbytes 7. Apr 2005 08:42

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

hier mal meine Lösung (zum Speicher).

Aus diversen Threads hier zusammengestellt.

Das Problem: Ein Prozess liefert mir nicht das gewünschte Ergebnis, obwohl die gleiche PID vorliegt (siehe Anhang-Bild).

Kann mir einer sagen, warum?

Hinweis: Das angehängte Beispielprogramm läuft nur unter NT/2000/XP...

NicoDE 7. Apr 2005 08:53

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von Catbytes
Das Problem: Ein Prozess liefert mir nicht das gewünschte Ergebnis, obwohl die gleiche PID vorliegt (siehe Anhang-Bild).

Kann mir einer sagen, warum?

Ich gehe davon aus, dass Dir die notwendigen Zugriffsrechte dafür fehlen (der TaskManager benutzt undokumentierte APIs, da der Zugriff auf die Performance-API/Registry wahrscheinlich langsamer wäre).

Catbytes 7. Apr 2005 08:58

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Hallo,

Zitat:

Zitat von NicoDE
Ich gehe davon aus, dass Dir die notwendigen Zugriffsrechte dafür fehlen

wenn Du Admin-Rechte meinst - die habe ich :???:

Wenn Du spezielle "Ich_bin_Windows_und_habe_alle"-Rechte meinst, die habe ich natürlich nicht :mrgreen:

Allerdings bekommen andere Prozesslister das doch auch hin. Nutze ich vielleicht die falschen MSDN-Aufrufe?

NicoDE 7. Apr 2005 09:04

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Zitat:

Zitat von Catbytes
wenn Du Admin-Rechte meinst - die habe ich :???:

Admin ist nicht root :)

Zitat:

Zitat von Catbytes
Wenn Du spezielle "Ich_bin_Windows_und_habe_alle"-Rechte meinst, die habe ich natürlich nicht :mrgreen:

Versuch das Debug-Privileg vor dem Aufruf zu aktivieren (Hier im Forum suchenEnablePrivilege)

Zitat:

Zitat von Catbytes
Allerdings bekommen andere Prozesslister das doch auch hin.

OpenSource?

glkgereon 7. Apr 2005 09:57

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Delphi-Quellcode:
Das Problem an solchen Foren ist IMMER, das man stets zu hören bekommt, man solle hier und da suchen. Und das kotzt mich so richtig an. Ich meine, denken denn alle, man ist bescheuert und hat noch nicht gesucht?
na und?

die links zu den schweizern hätte dich auf eine fertige lösung geführt für den speicher, und die links in die msdn hätten dir relativ vollstädige lösungen zum prozessor geliefert.

Delphi-Quellcode:
BTW: Ich hab das Problem mittlerweile gelöst, auch OHNE die Hilfe hier. Wäre bloss echt einfacher gewesen, wenn's einer von den achso schlauen einfach hier gepostet hätte, wenn schon bekannt ist, wie's gemacht wird.
nich so agressiv...

es war ja wohl genug hilfe!
komplettlösung für teil 1, und fast-lösung für teil 2...weiss echt net was du willst :gruebel:

w3seek 7. Apr 2005 12:37

Re: Wie Speicherbedarf/CPU-Auslastung eines Prozesses ermitt
 
Der Task Manager benutzt keine toolhelp api, er benutzt die native api welche (fast) alle daten ueber den prozess zurueckliefert, ohne dass man dazu einen handle zu dem prozess braucht: NtQuerySystemInformation mit information class SystemProcessInformation. Einen (noch nicht komplett vollstaendigen) taskmgr clone (allerdings in C, und teilweise nicht so schoen programmiert) gibts hier, der code der die informationen sammelt, prozessauslastung berechnet etc befindet sich in der datei perfdata.c

Das ist die einzige (allerdings auch nur zum teil dokumentierte) weg eine prozess liste und informationen ueber laufende prozesse zu erhalten, der weg ueber die toolhelp api benoetigt handles, welche man nicht unbedingt bekommt wegen fehlender zugriffsrechte. Ach ja, der Code funktioniert nur auf NT basierenden Systemen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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