Effacer les filtres
Effacer les filtres

Simulink runs for 48 hours and gives out of memory errors.

5 vues (au cours des 30 derniers jours)
Daniel Lowe
Daniel Lowe le 2 Oct 2017
Hi,
I'm running a parameter estimation for a shock absorber model in simulink, and after running the model for a few days, progress stops and I get 2 warnings and an error.
Warning: Evaluation of function 'sim' failed with the following errors. Using empty SimulationOutput object as return value. Warning: Warning: Unexpected or internal error encountered in "slOneSimStep". Please report this to MathWorks if you can cause it to recur Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: unable to create new native thread
I've researched a bit, and tried to stop it from storing old iterations, but it didn't seem to help much. I was running this in MATLAB R2017b on a windows 10 pc with 8Gb ram and 1.66Tb of free hard drive space (only 1.5Tb was left by the end of the simultion). I wont have access to this pc again for another week, but my laptop has 16Gb ram and 60Gb free hard drive space.
There is more information from the errors, a lot more, which I've put into a google drive doc incase it helps diagnose the problem. https://docs.google.com/document/d/1i6sGpJPVatiyNLBhbJad4P7vzsEb7kLX8tiDSW8LzL0/edit
If anyone knows the fix for this, it would be greatly appreciated.
thanks,
Daniel
  1 commentaire
Nikhil Sreekumar
Nikhil Sreekumar le 5 Oct 2017
Modifié(e) : Nikhil Sreekumar le 6 Oct 2017
Hi Daniel,
Can you try increasing the ulimit value and see if the issue is resolved, if you are using a linux environment?
On most Linux based environments, by default, the ulimit for that shell is set to a low number which can cause this error. Ulimit provides control over the resources available to the shell and to processes started by it, on systems that allow such control.
To check this try executing "ulimit -a" command on the terminal and see the "max user processes", ie, "nproc " field.
To change the value of "max user processes", you can use the following command in Linux shell: ulimit -u 63536
For Windows, this link might be useful, but please use your discretion: ulimit change in Windows
When you check the ulimit -a again you should now see the new max user processes.
Thanks,
Nikhil

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by