Prozessorkerne fest zuweisen

rodeoric

Neuling
Thread Starter
Mitglied seit
18.10.2011
Beiträge
82
Hallo zusammen,

ich habe folgendes Problem.

Ich arbeite mit dem MetaTrader 4 im Bereich Daytrading an meinem privaten Rechner.

Folgendes System nutze ich dafür:

I7-4930k (6/6) - Wakü mit OC auf 4 GHz je Kern
32 GB DDR3 (2133 Mhz)

Screenshot_3.png

Nun habe ich das Problem sobald der MetaTrader läuft, werden alle Kerne zu 100% ausgelastet.

09b8c8aa093d4a98b266149133fe1459.png
Screenshot_4.png

Nun habe ich es bisher immer so gemacht das ich nach jedem Start vom MetaTrader die Kerne manuell zugewiesen habe, also habe ich dem Programm die letzten 2-4 gegeben.

Das Problem ist allerdings das ich dies bei jedem Start des MT machen muss und das wird mit der Zeit wirklich lästig.

Gibt es dazu vielleicht einen Parameter der in die Verknüpfung geschrieben werden kann oder ein Tool mit dem ich meinen Programmen bei Bedarf die Kerne fest zuweisen kann ?

Probiert habe ich bereits:
Prio - funktioniert nicht, bindet sich nicht in den TaskManger ein
MultiCore Optimizer - funktioniert ebenfalls nicht da diese Anwendung nur für x86 Systeme ist

Vielen Dank vorab.

Mfg

rodeoric
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Versuche es doch mal mit einer CMD-Datei und dem START Befehl.

Als Beispiel (MetaTrader.cmd):
@echo off
start /affinity 1 /normal MetaTrader.exe <== MetaTrader startet mit normaler Priorität nur auf CPU1

/AFFINITY Legt die Prozessoraffinitätsmaske als Hexadezimalzahl fest.
Jeder Kern hat dabei eine festegelegte Nummer:
CPU1 = 1
CPU2 = 2
CPU3 = 4
CPU4 = 8
CPU5 = 16
usw.
Wenn man einer Anwendung 2 oder mehr Kerne zuweisen will, addiert man die jeweiligen Nummern miteinander.
z.B. /affinity 3 = CPU1+CPU2, /affinity 10 = CPU2+CPU4, /affinity 7 = CPU1+CPU2+CPU3 usw.

/NORMAL Startet die Anwendung in der NORMAL-Prioritätsklasse.
Man kann Anwendungen natürlich auch jeder mit anderen Prioritätsklasse starten.
(LOW/NORMAL/HIGH/REALTIME/ABOVENORMAL/BELOWNORMAL)

/[Pfad]
Zum Schluss noch den Pfad zu der Anwendung.
Am einfachsten ist es wohl, die CMD-Datei im selben Verzeichnis zu erstellen, wo auch die Anwendung liegt und von der CMD dann eine Verknüpfung zu erstellen (z.B. für den Autostart).
Dann braucht man nur den Namen der gewünschen Anwendung zu ergänzen und nicht den kompletten Pfad.

Wenn allerdings der komplette Pfad verwendet wird und dieser Leerzeichen beinhaltet, muss er in ""-Zeichen gebunden werden.

start /affinity 1 /normal "C:\Program Files\MetaTrader\MetaTrader.exe"
 
Zuletzt bearbeitet:
Versuche es doch mal mit einer CMD-Datei und dem START Befehl.

Als Beispiel (MetaTrader.cmd):
@echo off
start /affinity 1 /normal MetaTrader.exe <== MetaTrader startet mit normaler Priorität nur auf CPU1

/AFFINITY Legt die Prozessoraffinitätsmaske als Hexadezimalzahl fest.
Jeder Kern hat dabei eine festegelegte Nummer:
CPU1 = 1
CPU2 = 2
CPU3 = 4
CPU4 = 8
CPU5 = 16
usw.
Wenn man einer Anwendung 2 oder mehr Kerne zuweisen will, addiert man die jeweiligen Nummern miteinander.
z.B. /affinity 3 = CPU1+CPU2, /affinity 10 = CPU2+CPU4, /affinity 7 = CPU1+CPU2+CPU3 usw.

/NORMAL Startet die Anwendung in der NORMAL-Prioritätsklasse.
Man kann Anwendungen natürlich auch jeder mit anderen Prioritätsklasse starten.
(LOW/NORMAL/HIGH/REALTIME/ABOVENORMAL/BELOWNORMAL)

/[Pfad]
Zum Schluss noch den Pfad zu der Anwendung.
Am einfachsten ist es wohl, die CMD-Datei im selben Verzeichnis zu erstellen, wo auch die Anwendung liegt und von der CMD dann eine Verknüpfung zu erstellen (z.B. für den Autostart).
Dann braucht man nur den Namen der gewünschen Anwendung zu ergänzen und nicht den kompletten Pfad.

Wenn allerdings der komplette Pfad verwendet wird und dieser Leerzeichen beinhaltet, muss er in ""-Zeichen gebunden werden.

start /affinity 1 /normal "C:\Program Files\MetaTrader\MetaTrader.exe"

Servus,

habe jetzt erst wieder reingeschaut.

Vielen Lieben Dank für die Info.

Genau das habe ich gesucht und es funktioniert perfekt.

Lediglich die Zuordnung verstehe ich noch nicht so ganz.

Meine CPU's starten im Task Manager mit CPU0 - CPU11

Wenn ich also nun nur die letzten 5 für das bestimmte Programm als Beispiel das diese übertaktet sind, benutzen möchte wie kann ich mir das für alle CPU's ausrechnen ?

CPU0 - 0
CPU1 - 1
CPU2 - 2
CPU3 - 4
CPU4 - 8
CPU5 - 16
CPU6 - 32
CPU7 - 64
CPU8 - 128
CPU9 - 256
CPU10 - 512
CPU11 - 1024

Das würde bedeuten wenn ich die letzten 4 benutzen möchte wäre der Affinity Wert dann bei 1024+512+256+12 = 1920 ???

Das hatte ich probiert, funktioniert aber irgendwie nicht :d

Vielleicht könntest du @Sindbad79 nochmal genauer drauf eingehen :)

Mfg

rodeoric
 
Zuletzt bearbeitet:
Nimm statt 1920 als Parameter 780.
Wobei dann Prozessorkern 7 bis 10 verwendet wird. affinity startet mit CPU0 = 1. Wobei es völlig egal ist, welche vier Prozessorkerne du zuweist.

Der Parameter von /affinity ist hexadezimal: https://blogs.msdn.microsoft.com/sa...ow-to-launch-a-process-with-cpu-affinity-set/

Die Umrechnung beherrscht der Windows Taschenrechner. Oder hier Umrechnung von Zahlensystemen


PS: Ich hoffe dir ist klar, dass du im Forex Handel gegen die absoluten Vollprofis bei den Grossbanken antrittst. Wenn du besser bist als die, wirst du reich. Sonst das Gegenteil.

Die Banken stellen Ihre automatischen Handelssysteme in das Rechenzentrum der Börsen und nicht in ein Gebäude daneben, oder gar in einer anderen Stadt. Um Zeit zu sparen. Licht in Glasfasern reist nur mit weniger als 300 m pro Mikrosekunde. Eine Mikrosekunde kann der entscheidende Vorsprung für einen profitablen Kauf/Verkauf sein.
 
Zuletzt bearbeitet:
Servus,

awehring, danke für deine Rückmeldung.

Ich möchte dies in Zukunft hauptberuflich machen und habe im letzten halben Jahr durch Forex bereits ~50.000 € Profit erzielt bei einem Deposit von ~2800 €. Ich sehe dem also gelassen entgegen und nutze keine automatischen Handelssysteme sondern positioniere mich selbst im Markt.

Ich danke dir für die erneute Erklärung bezüglich affinity und würde sagen der Thread kann geschlossen werden da das Problem behoben wurde.

Mfg

rodeoric
 
Jetzt googeln sicher viele “Forex“ :d

Möge dein Glück anhalten.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh