Я не хочу заявлять о неполной проблеме XY, поэтому вот полная ситуация:
Икс
Я запускаю сборки в Visual Studio на моем компьютере с Windows 7, используя как параллельные сборки, так и параллельную компиляцию. Отключение любого из них не вариант.
Моя проблема в том, что иногда это порождает так много cl.exe
(компилятор), что вся машина тормозит, пользовательский интерфейс перестает отвечать на запросы и т.д.
Машина имеет 12 эффективных сердечников (6 с гиперпоточностью).
Y
Моя идея решить эту проблему состоит в том, чтобы ограничить cl
только 11 или 10 доступными ядрами, чтобы он не мог отключить всю машину. К сожалению, я не смог найти способ сделать это.
Я нашел способы установить сходство приложений с помощью ярлыка (.lnk
) для приложения, но это не применимо в моей ситуации, потому что cl.exe
запускается Visual Studio внутри, а не напрямую мной.
Я также нашел способы установки соответствия процесса, который уже запущен, но для меня это тоже бесполезно (если ничего другого, процессы cl.exe
заканчиваются и порождаются во время сборки, они не долго выполняются),
Я ищу способ выполнить часть Y , но альтернативные способы решения проблемы X (безответственность, вызванная слишком большим количеством запущенных, остановленных и запущенных процессов) также являются желанными решениями.