2016-09-02 4 views
0

Я использую Asp.net с C# для переориентации образа коллекции на основе их содержимого. Но, поскольку я запускаю его, я получил следующую ошибку. В то время как мой ноутбук имеет 4 ГБ оперативной памяти и 320 ГБ жесткий диск.Как увеличить размер памяти, используемой визуальной студией?

exception of type 'system.outofmemoryexception' was thrown

Как увеличить оперативную память для запуска моей программы?

+1

Пожалуйста, поделитесь своим кодом, ввод, ожидаемый вывод, чтобы создать [mcve] –

+0

Возможно, вам стоит попытаться оптимизировать свой код, попробуйте освободить изображения из памяти, когда вы его не используете, если это возможно. –

+0

Если вы используете GDI для обработки изображений, имейте в виду, что GDI любит бросать 'OutOfMemoryException' для множества проблем, которые не связаны с отсутствием памяти. Часто он выдает эту ошибку, когда файл, который вы пытаетесь обработать, на самом деле не является изображением, или файл каким-то образом поврежден. –

ответ

0

Два варианта - 1) в вашем коде есть ошибка, и это не освобождает вещи. 2) 4 ГБ ОЗУ не много.

Visual Studio будет использовать столько памяти, сколько имеет ноутбук. Но вы можете «расширить» его, включив виртуальную память, которая, как я подозреваю, отключена на вашем компьютере. Виртуальная память (aka файл подкачки) позволяет операционной системе использовать дисковое пространство.

Однако он будет медленным, потому что ОЗУ записывается/считывается на диск по мере необходимости. Вы, наверное, уже достаточно медленный ноутбук.

Ваш лучший выбор купить больше ОЗУ для вашего ноутбука. 8GB будет достаточно хорошим (это то, что у меня есть на моем ноутбуке «play around») - 16GB еще лучше!

Чтобы включить виртуальную память в Windows 7 - откройте «Свойства системы» (найдите ее или нажмите кнопку «Пауза»). Выберите вкладку «Дополнительно» и откройте «Настройки производительности». Затем выберите вкладку «Дополнительно» и нажмите «Изменить ...». Автоматически управляйте пейджингом и/или «Системный размер управления» («Нет файла подкачки» отключает виртуальную память).

Он по умолчанию отключен из-за воздействия на производительность. Ваш компьютер будет медленнее, потому что он читает/записывает на диск ... который во много раз медленнее памяти (ОЗУ). Но это работает.

Если вы можете - купите больше памяти. Ты будешь счастливее.

+0

Ummm, он никогда не отключается по умолчанию. Windows полагается на файл подкачки, чтобы использовать команду «Отключить файл вашей страницы» из дней Windows XP. Тогда ситуация изменилась. –

+0

Неправда. Некоторые ПК по-прежнему отправляются с отключенным файлом. Я не знаю, кто делает выбор, но я все еще нахожу машины Windows 7 в положении «выключено». До сих пор не видел достаточно Win10, чтобы узнать, что такое «типичные» значения по умолчанию. – ripvlan

+0

Хотя у меня нет большого количества данных или «доказательств» - кажется, что они обычно отключены на ноутбуках и включены на рабочих столах. Я подозреваю, что уменьшу доступ к диску и экономя время работы от батареи. Но у меня есть только анекдотические свидетельства. – ripvlan

2

Практически невозможно дать вам хороший ответ, не видя какого-либо кода, но есть вероятность, что на самом деле у вас не хватает памяти.

GDI выдает OutOfMemoryException для многих проблем, которые вообще не связаны с памятью. Это может произойти, если вы пытаетесь обработать файл, который на самом деле не является изображением, когда файл поврежден, или когда это формат изображения, который GDI не поддерживает.

Прежде всего, убедитесь, что каждый поток файлов или данных, которые вы обрабатываете, на самом деле является реальным файлом изображения. Если вы абсолютно уверены, что файлы действительны, и формат поддерживается GDI, только тогда я начну рассматривать реальные проблемы с памятью.

Смежные вопросы