Process out of memory (but RAM still available) - How to increase process memory cap?
Doing copy/paste in Visual Studio 2010 RTM on Windows 7, 3GB ram machine, I was unable to copy text because of an error:
Диспетчер задач показывает, что devenv.exe использует чуть более 500 МБ. Однако у меня все еще есть почти 1 ГБ свободной оперативной памяти.
Это что-то вроде шапки памяти? Если так, есть ли способ увеличить его? Это может быть ошибка, но может быть есть обходной путь?
2 ответа
В этой статье объясняется, что проблема заключается в том, что каждому приложению на вашем компьютере будет выделено 4 ГБ адресного пространства - 2 ГБ, назначенные приложению, и общее пространство 2 ГБ, назначенное ядру, которое разделяют все приложения.
Адресное пространство - это выделение только в смежных блоках, поэтому, если вам нужно 1 Мб пространства, вам нужно найти непрерывное пространство в 1 Мб для вас (в отличие от 2 500 Кб пробелов). По мере того, как вы используете это пространство, оно становится фрагментированным, и в конечном итоге вы можете обнаружить, что смежного пространства недостаточно для ваших нужд - это намекает на то, что оно скорее будет в пространстве ядра, чем в пространстве вашего приложения.
Вероятно, ваши ошибки фрагментации вызваны тем, что для чего-то требуется непрерывное количество адресного пространства, которое больше, чем самый большой доступный блок.
Решения: Э-э... ни то, что я знаю или о котором я читал. Вы действительно должны попытаться определить виновника (ов). Если это стороннее приложение, не используйте его - если это ваше приложение, убедитесь, что когда вы используете пространство, вы используете его в меньших блоках, и убедитесь, что у вас нет утечек.
Не очень полезно, я понимаю...
Кроме того, если в VS2010 открыто несколько страниц, попробуйте закрыть некоторые из них, затем сверните (не закройте) Visual Studio, а затем снова разверните. Это освободит память, как только VS потеряет фокус.
К сведению, уловка минимизации работает на моих приложениях, таких как Firefox или Outlook.