2013-06-04 4 views
2

Может ли кто-нибудь объяснить разницу между использованием GUI предпочтений внутри matlab для установки пространства кучи и с помощью файла «java.opts», чтобы установить его при запуске? У меня есть GUI maxed out, но он действительно ничего не делает (я получаю ошибки из памяти). Если я создам файл java.opts с «-Xmx6000m», то он работает, но только если я запустил matlab из моего домашнего каталога.MATLAB java heap space: GUI vs. java.opts

Я работаю в Linux, matlab 2012b.

+0

Это может быть своего рода касательная от вашего первоначального вопроса, но ошибка, которую вы получаете, указывает на то, что она связана с Java? Если нет, то увеличение пространства кучи java может не помочь. Фактически, в некоторых случаях это может сделать проблему хуже, поскольку вы выделяете больше памяти для кучи java и теперь имеете меньше памяти, например, для создания больших массивов. – grungetta

ответ

2

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

Я считаю, что единственное отличие заключается в том, что диалог дает вам некоторые (довольно разумные) пределы, тогда как вы можете вводить все, что вам нравится, через файл java.opts.

Вы можете поместить файл java.opts либо в директории запуска, или в $MATLABROOT/bin/$ARCH, где $MATLABROOT это каталог установки MATLAB и $ARCH ваша машина архитектура. Если вы поместите его туда, вы можете запустить MATLAB в любом каталоге, и он все равно вступит в силу.

+0

Да, это ошибка Java. Я думаю, что я только что расстался с лимитом в графическом интерфейсе. Это только до 35 мегабайт или около того, и я имею дело с несколькими огромными объектами нескольких концертов. java.opts позволяет мне идти больше, чем GUI. – user2364295

+0

Также имейте в виду, что установка этого (или PATH) в графическом интерфейсе, вероятно, будет редактировать файлы конфигурации в основной установке Matlab, например, положить файл в $ MATLABROOT, затрагивающий всех пользователей и вызовы, которые могут быть не такими, какие вы хотите. (Uh, особенно с кучей Java на 6 гигабайт). Выполнение 'java.opts' в каталоге запуска позволяет вам изолировать изменения только от тех программ, которые в нем нуждаются, и вы можете распространять их в других местах развертывания вместе с остальной частью ваш код, чтобы другим пользователям не приходилось настраивать их систему. –