Вопрос

SandCastle не может обработать нашу библиотеку классов, потому что она выходит из строя с исключением OutOfMemoryException во время преобразования XSL.

Что мы можем с этим сделать, кроме очевидного - купить больше памяти?Проблема в том, что это наши компьютеры разработчиков с 3,3 ГБ памяти на 32-разрядной ОС, поэтому в основном нам приходится либо обновляться до 64-разрядной версии и большего объема памяти (что не произойдет какое-то время), либо настраивать виртуальный сервер для этого с большим объемом памяти (что повлияет на производственные серверы).

Я серьезно сомневаюсь, что у нас самая большая библиотека классов в мире, которой требуются файлы справки, так какие же варианты у нас есть?Существует ли волшебная настройка "Не аварийно завершать работу из-за ошибок нехватки памяти", которую мы забыли отключить?

Это было полезно?

Решение

Если вы используете 32-разрядную версию Windows, ваш пользовательский процесс сможет обращаться только к 2 ГБ памяти по умолчанию (3 ГБ выполняются с учетом больших адресов).2 ГБ используются для всего, что происходит в процессе, поэтому .СЕТЕВАЯ среда выполнения, стандартные библиотеки, резервирование и так далее - все берут свое.По моему опыту, это оставляет около 1,5 ГБ для .СЕТЕВЫЕ приложения на 32-разрядной версии.

Вы можете получить доступ к большему объему памяти с помощью переключателя large address aware, но это не предоставляется бесплатно, если вы используете 32-разрядную версию Windows.Переход на 64-разрядную версию Windows позволит вашему 32-разрядному приложению получить доступ ко всему 32-разрядному адресному пространству и, таким образом, предоставит вам 4 ГБ адресуемого пространства.

Недавно я написал запись в блоге с подробностями об использовании памяти для .NET applications, но поскольку я веду блог на датском языке, вы, возможно, не сможете ее прочитать.Однако, если вы хотите ознакомиться, ссылка: http://kodehoved.dk/?p=156

Вы также можете счесть эту запись в блоге MSDN актуальной: http://blogs.msdn.com/maoni/archive/2007/05/15/64-bit-vs-32-bit.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top