How should I release memory while running an AppDesigner app without having to restart MATLAB?
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I built a software to read and communicate voltage data to LabJack. The software sends voltage to three pistons in order to apply a load scheme that follows a sine wave. It also reads voltage from load cells and reads the displacement of the pistons (all of this data is presented to the user on the GUI- see picture). The software is meant to run for at least 3 weeks to control a lab experiment. However, MATLAB seems to consume all of my lab computer memory on day 5 which is not ideal for the conditions of my experiment.
The app relies on three timers with period 200 ms (one timer for each chamber/piston) to communicate voltage values with LabJack and another set of three timers that update every second to present numerical values of load and displacement.
I have looked thoroughly for a solution and I cannot seem to find any piece of code or information on how to release the memory being used by MATLAB without having to restart MATLAB.
I also noticed that closing the Appdesigner software does not release any memory. Starting a new experiment on the software which involves clearing variables also does not release any memory. The only way to release memory is by restarting MATLAB, which is not ideal. So I wonder if there is a better way to solve this issue?
BTW the plot in the GUI only plots the last 30 seconds of data and it updates every 200 ms.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/465200/image.png)
Thanks,
Ward
1 Kommentar
Antworten (1)
Mario Malic
am 19 Dez. 2020
Hi Ward,
Do you use persistent variables? See in task manager which process has high memory usage, MATLAB or MATLABWindow?
Here's a link of different clears that you could do, try clearing in this order and see at which one memory will be released.
clearvars
clear functions
clear classes
clear all
4 Kommentare
Mario Malic
am 20 Dez. 2020
Just to try this option as well, since I forgot to mention it
clear
Do you use functions like evalin or assignin? When you get this warning about clearing classes, can you try Ctrl+C and see if you get any error or another warning? Probably, it's better to consult with customer support, this is quite a specific case.
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!