Как обсуждалось при обмене комментариями к вопросу:
Странно то, что я использую 64-битную MSBuild на 64-битном ноутбуке Win7 с 4 ГБ физической и «неограниченной» виртуальной оперативной памяти.Процесс MSBuild использует около 1 ГБ ОЗУ (1,5 ГБ пик).- Ludwo 4 часа назад
Я использую 32-битную MSBuild на 32-битном рабочем столе WinXP с 2 ГБ физической и аналогичной неограниченной виртуальной оперативной памяти.Странно то, что сбой происходит, когда физическая память полностью израсходована.Как будто у меня нулевая виртуальная память!- Кевин Вермеер 3 часа назад
Да, похоже, что MSBuild не использует виртуальную память :) - Ludwo 2 часа назад
Похоже, что MSbuildне использовал виртуальную память.Я провел несколько тестов (запустил кучу программ), и казалось, что ничто не использует виртуальную память.Я сделал несколько поисков, которые заставили меня проверить
Control Panel -> System -> Advanced -> Performance -> Advanced -> Virtual Memory
и обнаружил, что существует настройка, ограничивающая размер моей виртуальной памяти в масштабе всей системы.Я предполагал, что виртуальная память будет фактически бесконечной, или, точнее, 4 ГБ для каждого процесса в 32-разрядной XP.Я не приближался к этому пределу.Тем не менее, объем моей виртуальной памяти был ограничен ... 0 МБ.Не круто, кто бы это ни делал.
Я изменил это, чтобы выделить минимум 1024 МБ и максимум 4096 МБ виртуальной памяти.Я добавил столбец «Виртуальный размер» в Process Explorer , который вместе с графиком «Подтверждение системы» демонстрирует, что теперь я использую больше памяти, чем объем, доступный в физических флеш-накопителях.
Это исправило мои проблемы.К сожалению, моя система практически останавливается всякий раз, когда она пытается листать какую-либо память, но это лучше, чем сбой.Я снова включил параллельные сборки;он распараллеливает и использует много ресурсов ЦП, в то время как у меня остается ОЗУ (что верно для большинства файлов) и снижает до 1% использования ЦП, когда у меня больше нет ОЗУ.Когда эти файлы сделаны, скорость восстанавливается.