Wir laufen automatisierte Jenkins Builds auf Amazon-Servern (Windows Server 2012 R2) für ein paar Visual Studio-Lösungen. Die größeren Projekte in ihnen sind mit der /MP
konfiguriert, verwenden Multi-Prozessor-Kompilierung, versuchen, die Bauzeit zu minimieren.Multi-Prozessor-Kompilierung von VS2015 produziert "nicht genug Kontingent ist verfügbar, um diesen Befehl zu verarbeiten" beim Ausführen von cl.exe
Wir führen msbuild
mit seiner /m
Flagge auch.
Problem ist, dass nach wenigen Minuten erhalten wir:
TRACKER: Fehler TRK0002: Fehler Befehl auszuführen: "" C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ CL.exe "@C: \ Benutzer \ Administrator \ AppData \ Local \ Temp \ tmpd19a7e5e426f4ec7baa597ed75516fd4.rsp". Es ist nicht genug Kontingent verfügbar, um diesen Befehl zu verarbeiten.
Dieses Problem tritt nur auf, wenn Jenkins Agent ausgeführt wird. Mit Visual Studio IDE ist alles in Ordnung. Wenn MSBuild über die Eingabeaufforderung ausgeführt wird, ist auch alles in Ordnung.
Irgendeine Idee, warum das passiert und wir können es umgehen?
Lauf
WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors
got
DeviceID NumberOfCores NumberOfLogicalProcessors
CPU0 2 4
Vielleicht ist VS2015 nicht die Anzahl der effektiven Prozessoren richtig erkennen und kreuzt einige Prozessgrenze von gleichzeitig zu viele Prozesse Laichen?
Jede Hilfe würde sehr geschätzt werden.
Amazon Server, was könnte schief gehen. Sie müssen "nicht genug Kontingent" lesen, da Sie "mehr Geld bezahlen müssen". –