Как я могу устранить ошибку нехватки памяти в MATLAB? - PullRequest
1 голос
/ 06 августа 2010

Я хочу вычислить 2 ковариационные матрицы с размером (10304,1034), и Matlab создает первую, но при запуске второй команды возникает эта ошибка:

>> j=ones(10000,10000);
>> jj=ones(10000,10000);
??? Out of memory. Type HELP MEMORY for your options.

Оперативная память моего ноутбука составляет 2 ГБ,но он все еще имеет 1 ГБ бесплатно.Я использую Windows 7 и 32-разрядную версию MATLAB 2009b.

Как устранить эту ошибку?

Ответы [ 4 ]

7 голосов
/ 06 августа 2010

Массив двойных чисел размером 10 к 10 КБ использует 1e8 * 8 байтов, что соответствует 800 МБ.MATLAB требует, чтобы эти 800 МБ были смежными.Скорее всего, ваша свободная память объемом 1 ГБ немного фрагментирована, поэтому MATLAB не может разместить новый массив в ОЗУ.

Используйте команду MEMORY , чтобы узнать максимальный размер переменной, с которым MATLAB может работатьданный момент.

2 голосов
/ 09 августа 2010

Попробуйте использовать разреженные матрицы, в этом случае MATLAB не выделяет все пространство.

1 голос
/ 28 апреля 2016

Перейдите в Matlab -> file -> Preferences -> general -> Java heap memory -> и увеличьте уровень .. Это решило мою проблему

1 голос
/ 14 ноября 2014

Попробуйте любой из этих двух вариантов немного увеличить объем памяти, выделяемой для обработки matlab.exe.

1 - Придайте более высокий приоритет задаче Matlab.exe. Это можно сделать, перейдя в диспетчер задач, вкладку «Процессы», щелкните правой кнопкой мыши задачу Matlab.exe, выберите приоритет и установите для него более высокий приоритет (скажем, в режиме реального времени), что говорит Windows, чтобы выделить больше ресурсов для этого процесса.

2- Увеличьте размер файла подкачки ваших приложений в целом. Вы можете сделать это, щелкнув правой кнопкой мыши Мой компьютер -> Свойства-> Дополнительные параметры системы -> Дополнительно-> Производительность-> Виртуальная память (изменить ..). Затем отметьте галочкой пункт «Автоматически ...» и установите начальный и максимальный размер страницы, скажем, 10000 МБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...