Решение “Из памяти” ошибок

Общие предложения для исправления памяти

MATLAB является 64-битным приложением, которое работает на 64-битных операционных системах. Это генерирует of Out сообщение Memory каждый раз, когда это запрашивает сегмент памяти от операционной системы, которая больше, чем, что доступно. Когда вы будете видеть of Out сообщение Memory, используйте любой из методов, обсужденных в соответствии со Стратегиями Эффективного использования Памяти, чтобы помочь оптимизировать доступную память включая:

  • Сокращение необходимой памяти

  • Выбор соответствующего хранения данных

  • Используя непрерывную память

  • Исправление используемой памяти

Если of Out , сообщение Memory все еще появляется, можно попробовать какое-либо следующее:

  • Если возможно, уменьшайте размер своих данных. Например, повредите большие матрицы в несколько меньших матриц так, чтобы меньше памяти использовалось в любой момент.

  • Если у вас есть большие файлы и наборы данных, смотрите Большие файлы и Большие данные.

  • Убедитесь, что нет никаких внешних ограничений на память, доступную для MATLAB. В системах Linux® используйте команду limit, чтобы заняться расследованиями.

  • Увеличьте размер файла подкачки. Мы рекомендуем, чтобы вы сконфигурировали свою систему с вдвое большим количеством области подкачки, когда у вас есть RAM. Для получения дополнительной информации смотрите Системную Область подкачки Увеличения.

  • Добавьте больше памяти системе.

Увеличение системной области подкачки

Общая память, доступная приложениям на вашем компьютере, состоит из физической памяти (RAM), плюс page file или swap file, на диске. Файл подкачки может быть очень большим (например, 512 терабайт на 64-битном Windows®). Операционная система выделяет виртуальную память для каждого процесса к физической памяти или к файлу подкачки, в зависимости от потребностей системы и других процессов.

Большинство систем позволяет вам управлять размером своего файла подкачки. Включенные шаги зависят от вашей операционной системы.

  • Windows Systems Используйте Панель управления Windows Control Panel, чтобы изменить размер страничного файла виртуальной памяти в вашей системе. Для получения дополнительной информации обратитесь к справке Windows.

  • Системы Linux — Изменение ваша область подкачки при помощи mkswap и команд swapon. Для получения дополнительной информации, в подсказке Linux вводят man, сопровождаемый названием команды.

Нет никакого интерфейса для того, чтобы непосредственно управлять областью подкачки в macOS системах.

Установление предела процесса для систем Linux

process limit является максимальной суммой виртуальной памяти, к которой может обратиться один процесс (или приложение). Предел процесса должен быть достаточно большим, чтобы разместить:

  • Все данные к процессу

  • Файлы программы MATLAB

  • Сам исполняемый файл MATLAB

  • Дополнительная информация состояния

64-битные операционные системы поддерживают предел процесса 8 терабайт. В системах Linux смотрите команду ulimit, чтобы просмотреть и пределы пользователя аппарата включая виртуальную память.

Отключение Java VM в системах Linux

В системах Linux, если вы запускаете MATLAB без Java® JVM™, можно увеличить доступную память рабочей области приблизительно на 400 мегабайтов. Чтобы запустить MATLAB без JVM Java, используйте параметр командной строки -nojvm. Эта опция также увеличивает размер самого большого непрерывного блока памяти приблизительно тем же самым. Путем увеличения самого большого непрерывного блока памяти вы увеличиваете самый большой матричный размер.

Используя -nojvm идет со штрафом в этом, вы теряете много функций, которые полагаются на программное обеспечение Java, включая целую среду разработки. Стартовый MATLAB с опцией -nodesktop не сохраняет значительного количества памяти.

Свободные системные ресурсы на Windows Systems

Нет никаких функций MATLAB, чтобы управлять способом, которым MATLAB обрабатывает системные ресурсы Microsoft® Windows. Системы Windows используют эти ресурсы, чтобы отследить шрифты, окна и объекты на экране. Например, с помощью нескольких окон рисунка, несколько шрифтов или несколько средств управления пользовательского интерфейса могут истощить ресурсы. Один способ освободить системные ресурсы состоит в том, чтобы закрыть все неактивные окна. Системные значки Windows все еще используют ресурсы.

Если общая системная память является ограничивающим фактором, закрывая другие приложения, и сервисы могут помочь (например, с помощью msconfig в системах Windows). Однако предел процесса обычно является основным ограничивающим фактором.

Смотрите также

Похожие темы