AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Welcher Core macht was?

Ein Thema von divBy0 · begonnen am 10. Nov 2010 · letzter Beitrag vom 10. Nov 2010
Antwort Antwort
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#1

Welcher Core macht was?

  Alt 10. Nov 2010, 08:46
Hallo zusammen,

ich stelle mir gerade die Frage, ob man rausbekommen kann, welcher Core gerade was macht. Für jeden Core gibt es im Taskmanager ja ein Diagramm (s. Anhang) mit der Auslastung. Kann man evtl. auch ermitteln welche Prozesse jeder einzelne Core bearbeitet?

Bei meinem alten PC gab es nur 2 Cores, da hatte man den Überblick, jetzt allerdings existieren 12 Cores...
Miniaturansicht angehängter Grafiken
taskmanager.png  
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 09:12
So eine Ansicht gibt es im Task-Manager leider nicht. Ich glaube, wenn Du nicht explizit festlegst, dass ein Prozess nur auf bestimmten CPUs laufen darf (SetAffinityMask-Funktionen), dann kann der Prozess quasi reih um mal von dem einem, dann mal von dem anderen Core bearbeitet werden zu einem bestimmten Zeitpunkt...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 09:34
Ja, dass es da keine feste Zuordnung während der Prozesslaufzeit gibt habe ich schon befürchtet.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#4

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 09:43
Also, es heißt genau MSDN-Library durchsuchenSetProcessAffinityMask
und darüber kommst du dann erstmal an eine gute Stelle im MSDN, von wo aus man sich weiter durchgraben könnte.

z.B. findet man da MSDN-Library durchsuchenGetCurrentProcessorNumber, womit der eigene Prozess erfährt, wo er grade in diesem Moment läuft.
Für externe Programme gibt es sowas anscheinend nicht.
(der gewünschte Prozess muß ja auch nichtmal grade verarbeitet werden, so daß er keinem Kern zugeordnet ist)

Klar könnte man jetzt in alle Programme, bzw. eigentlich sogar in alle Threads, einen Code injizieren, welcher das Abfragt, aber wozu der Aufwand und wozu den PC so ausbremsen.
Außerdem könnte diese Zuweisung auch dutzende oder hunderte Male in der Sekunde wechseln ... da kann doch keiner mehr zugucken.

PS: ein Programm ist keinem Prozessor zugeordnet, sondern alle seine Threads.
Und diese müssen nichtmal auf dem selben Prozessor/Kern zugeordnet sein.
Heißt also, du hättest so eine unüberschaubare Liste von tausenden Threads.

Du kannst aber den Programmen/Threads sagen wo sie laufen sollen.
Da gibt's auch schon fertige Programme.
Wenn du festlegst wo was läuft, dann weißt du wo was läuft.
z.B. einem Programm und seinen Threads nur einen Prozessor zuweisen und allen Anderen diesen verweigern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Nov 2010 um 09:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 09:48
Danke himitsu,

das hilft mir schon mal weiter. Den Aufwand will eigentlich nur mal aus Interesse betreiben um zu sehen, wie meine Anwendung mit mehreren Threads aufgeteilt wird, das ist schon alles.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#6

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 10:08
Bitte.

OK, dann reicht es ja, wenn du abundzu nur in deiner Anwendung (in den Interessanten Threads) abfragst, wo diese grade laufen.
Sowas sollte dann nicht all zu aufwändig sein ... du mußt ja nur je eine GetCurrentProcessorNumber-Abfrage in deine Threads einbauen, diese Werte in irgeneiner Thread-Liste abspeichern und dann dieses Anzeigen oder es jeweils direkt anzeigen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

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

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 13:13
Danke himitsu,

das hilft mir schon mal weiter. Den Aufwand will eigentlich nur mal aus Interesse betreiben um zu sehen, wie meine Anwendung mit mehreren Threads aufgeteilt wird, das ist schon alles.
So ganz grob geht das: Du kannst ja im Taskmanager auf Prozesse gehen und dort für dein Programm die Zugehörigkeit ändern. (Und es so auf 1..12 Prozessoren einschränken)
Wenn zu genug Zeit hast, kannst du ja mal alle anderen Prozesse auf einen Kern binden und dann deinem Programm alle anderen zuweisen
  Mit Zitat antworten Zitat
Antwort Antwort


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:49 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