Legen Sie die EXE-Affinität ohne Verknüpfung fest

493
Angew

Ich möchte kein unvollständiges XY-Problem angeben, deshalb ist hier die vollständige Situation:

X

Ich führe Builds in Visual Studio auf meinem Windows 7-Computer aus und verwende sowohl parallele Builds als auch parallele Kompilierung. Das Deaktivieren einer dieser Optionen ist keine Option.

Mein Problem ist, dass gelegentlich so viele cl.exe(Compiler-) Prozesse erzeugt werden, dass die gesamte Maschine langsamer wird, die Benutzeroberfläche nicht mehr reagiert usw.

Die Maschine verfügt über 12 effektive Kerne (6 W / Hyperthreading).

Y

Meine Idee, dieses Problem zu lösen, besteht darin, clauf nur 11 oder 10 der verfügbaren Kerne zu beschränken, so dass die gesamte Maschine nicht reagiert. Leider konnte ich dafür keinen Weg finden.

Ich habe Möglichkeiten gefunden, die Anwendungsaffinität mithilfe einer Verknüpfung ( .lnk) für die Anwendung festzulegen. Dies ist jedoch in meiner Situation nicht anwendbar, da cl.exesie von Visual Studio intern und nicht direkt von mir gestartet wird.

Ich habe auch Möglichkeiten gefunden, die Affinität eines Prozesses festzulegen, der bereits läuft, aber das ist auch für mich nicht nützlich (wenn nichts anderes, die cl.exeProzesse enden und während des gesamten Builds erzeugt werden, sind sie nicht langwierig).

Ich bin auf der Suche nach einer Möglichkeit, den Y- Teil zu erledigen, aber alternative Wege zur Lösung des X- Problems (Nichtreagieren aufgrund zu vieler Prozesse, die ausgeführt, angehalten und gestartet werden) sind ebenfalls willkommene Lösungen.

0
Können Sie nicht einfach weniger parallel bauen? [MSDN-Artikel] (https://msdn.microsoft.com/de-de/library/y0xettzf.aspx) PTwr vor 8 Jahren 0
@PTwr Leider nein. Wie ich bereits erwähnte, ist dies eine Kombination aus parallelen Builds (worüber die MSDN-Sache spricht) und paralleler Kompilierung (`/ MP`-Schalter). Und ich kann keinen von ihnen loswerden, weil die Builds auch Fortran beinhalten, das nur parallele Builds hat. Angew vor 8 Jahren 0
Ah, dann wird es wohl nur eine Frage der dauerhaften Affinität sein. Ich glaube, ich habe ein solches Werkzeug (http://www.tomshardware.com/reviews/bang-dual-processing-buck815-3.html) oder etwas ähnliches in der Vergangenheit verwendet. Oder Sie können virtuelle Maschinen mit begrenzten Kernen einrichten;) PTwr vor 8 Jahren 0
@PTwr Das klingt nach einer Antwort für mich - im Grunde ist meine Frage "Wie kann man parmanente Affinität einstellen?" Dies macht "mit diesem kostenlosen Tool" eine gültige Antwort IMO. Angew vor 8 Jahren 0
Ich würde es vorziehen, es zuerst selbst zu testen, denn jetzt ist es nur ein Zufallsgedächtnis. PTwr vor 8 Jahren 0

0 Antworten auf die Frage