C++ (Visual Studio 2012) CPU-Auslastung beim kompilieren verringern

Teiby

Lt. Commander
Registriert
Sep. 2008
Beiträge
1.730
Guten Tag.

Ich hab da ein ziemlich großes Projekt, welches ich mit Visual Studio 2012 kompiliere.
Da das erstellen relativ lange dauert, surfe ich nebenbei im Internet. Leider funktioniert das Erstellen zu "gut".
Meine CPU ist voll am Anschlag und friert das ganze System fast ein (laufen ca. 10 Threads).

Gibt es eine Möglichkeit, dem System mehr Power übrig zu lassen indem nur 3 Kerne zum kompilieren benutzt werden oder die Priorität auf "niedriger als normal" setzen? Wenn ja, wo kann man das einstellen?

Danke schonmal.
 
Ich kenn mich mit VS nicht aus, aber du kannst als Workaround auf jeden Fall im Taskmanager entweder die Priorität des Compilers heruntersetzen oder einzelne Kerne/Threads nicht zulassen für die Nutzung (mit Rechtsklick auf das laufende Programm im Taskmanager).
Vermutlich kann man das auch über Kommandozeilenparameter für Programme (in dem Fall den Compiler) regeln, aber das weiß ich nicht genau.
 
Google hat mir gerade geflüstert, dass das hier in einer Batch gehen würde:
start /belownormal xyz.exe
Ich bin mir sicher, du kannst irgendwo den Compileraufruf in VS einstellen und ändern, da müsstest du das eigentlich nur davorsetzen.

Es bleibt aber das Problem, falls der wiederum Tochterprozesse startet, und da wird eine Lösung schon komplizierter - keine Ahnung, ob man das in den Griff bekommt.
 
Zuletzt bearbeitet:
Du kannst die maximalen benutzen MSBuild.exe Prozesse reduzieren (Tools | Options | Projects and Solutions | Build and Run):



http://stackoverflow.com/a/2849167/1466046

bei mir sind es 4 weil ich eine Dual-Core CPU mit HT nutze. Bei deinem i5 müsstest du es auf 3 oder 2 stellen, je nachdem wie viele Kerne du frei haben willst
 

Anhänge

  • buildrun.png
    buildrun.png
    47,9 KB · Aufrufe: 230
Zuletzt bearbeitet:
machs doch einfach andersrum und setz den browser auf hohe priorität?.! aber nicht auf echtzeit, eins drunter.

wieso einfach, wenn's auch kompliziert geht?!
 
Ich kenn mich da nicht so aus, aber vielleicht geht was über eine bat-Datei zu regeln.

Prioritäten können dort mit " start /low (/normal,...) programm.exe vereinbahrt werden

Wahlweise kann auch "start /wait / low ..." helfen
 
Zurück
Oben