How can I profile the memory usage in MATLAB when I use Linux and Mac OS?

How can I profile the memory usage in MATLAB when I use Linux and Mac OS?
the memory function is only available to Windows, right?

Réponses (2)

Hello,
I know it's a bit late, but I just used the following on Linux:
[tmp pid] = system('pgrep MATLAB');
[tmp mem_usage] = system(['cat /proc/' strtrim(pid) '/status | grep VmSize']);
fprintf("%i MB\n", round(str2num(strtrim(extractAfter(extractBefore(mem_usage, ' kB'), ':'))) / 1000));
The system command executes a shell command where I first get the process ID and used the ID to get the memory usage using cat to read the process status file, then I format it and output it in MB. You can probably retrieve the PID inside the same bash command then you call the system function only once.

3 commentaires

Hello,
You can shorten it to the following two lines:
[tmp mem_usage] = system(['cat /proc/$(pgrep MATLAB)/status | grep VmSize']);
fprintf("%i MB\n", round(str2num(strtrim(extractAfter(extractBefore(mem_usage, ' kB'), ':'))) / 1000));
This seems strange to me, but after clearing the variables (for instance, clear all) the VmSize does not reduce and may even encrease. Why so?
Hi, is this code a bash command?
I create the .sh file with these lines of code and run it in the terminal while I am running matlab in the linux.
But this gives me the syntax error "near unexpected token '('
I make it into a .m file and run 'matlab -batch [thisfile] while I am running main matlab file.
I also try adding these lines in my main running matlab file.
Both of these methods only return " MB".

Connectez-vous pour commenter.

I'm using a MAC with Catalina OS. Normally I use this command:
profile -memory on
you can view the results after your code executes using
profview

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Question posée :

hao
le 21 Août 2014

Commenté :

le 1 Sep 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by