2016-06-08 3 views
3

Я запускаю MATLAB на Linux с ограниченным объемом памяти в моем домашнем каталоге (/home/$USER). Когда MATLAB падает, он помещает файлы дампа аварийной ситуации (matlab_crash_dump.XXXX) в мой домашний каталог. Я хотел бы изменить каталог, в котором находятся эти файлы. Каков наилучший способ сделать это?Укажите выходной каталог для файлов дампа MATLAB

+0

Какая версия matlab, в которой находится репозиторий linux? –

+0

версия matlab: matlab/R2013a Linux: выпуск Red Hat Enterprise Linux Server версии 5.11, linux repo - это любой другой, чем/home/$ USER. – Pratul

ответ

2

Необходимо указать переменную среды MATLAB_LOG_DIR. MATLAB будет использовать это для хранения всех аварийных дампов.

С related MATLAB Central discussion:

Если вы установите переменную окружения $ MATLAB_LOG_DIR, что там мы напишем файл аварийного дампа. В противном случае посмотрите в $ HOME в UNIX или в $ TEMP, $ TMP, $ WINDIR и, наконец, C: \ (в указанном порядке) в Windows. Файл будет называться «matlab_crash_dump. $ Pid», где $ pid - это идентификатор процесса MATLAB.

Вы можете сделать это в файле .bashrc

export MATLAB_LOG_DIR=/custom/dir 

Или в MATLAB сам до выполнения каких-либо команд (или в пределах вашего matlabrc file)

setenv('MATLAB_LOG_DIR', '/custom/dir') 

Если вам необходимо проверить это , следующий простой файл mex приведет к сбою, приводящему к файлу дампа сбоя.

#include "mex.h" 

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) 
{ 
    /* Access beyond the length of prhs */ 
    size_t x = mxGetM(prhs[6]); 
} 
+0

Большое спасибо за ответ. Один вопрос: мне нужно инициализировать переменную среды MATLAB_LOG_DIR или она предварительно определена в библиотеке, и я могу использовать ее непосредственно в 'matlabrc' - setenv ('MATLAB_LOG_DIR', '/ custom/dir ') ?? – Pratul

+0

@Pratul не определяется изначально, и он будет использовать ваш домашний каталог, если он не определен. Если он определен, он будет использовать это вместо этого. – Suever

+0

Определенно, просто настраивая все, чтобы попробовать. – Pratul

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