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

3 Ansichten (letzte 30 Tage)
Daniel Lowe
Daniel Lowe am 2 Okt. 2017
Bearbeitet: Nikhil Sreekumar am 6 Okt. 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 Kommentar
Nikhil Sreekumar
Nikhil Sreekumar am 5 Okt. 2017
Bearbeitet: Nikhil Sreekumar am 6 Okt. 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

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Startup and Shutdown 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!

Translated by