main memory limit reached message and restarting the application

User13
User13 New Altair Community Member
edited November 2024 in Community Q&A
I'm running the free version of RM Studio on a linux machine (and adding cloud when the capacity is insufficient).



When I'm running largish data sets (about 2M records), after a few runs I get the message: Main Memory Limit Reached, with an encouragement to upgrade.



Yet, if I close the RM application and restart, the process runs just fine.



What's happening here? What can I do to prevent it?



Tagged:

Best Answer

  • User13
    User13 New Altair Community Member
    Answer ✓
    Hi John,

    this may happen when your process requires an amount of memory which is very close to your maximum memory limit. After a few runs Java may not clean up every entity in memory causing or memory controller to launch the upgrade notification. You may try to force a garbage collection by using the "Free Memory" operator as the first operator of your process.

    Cheers,
    Helge

Answers

  • User13
    User13 New Altair Community Member
    Answer ✓
    Hi John,

    this may happen when your process requires an amount of memory which is very close to your maximum memory limit. After a few runs Java may not clean up every entity in memory causing or memory controller to launch the upgrade notification. You may try to force a garbage collection by using the "Free Memory" operator as the first operator of your process.

    Cheers,
    Helge
  • User13
    User13 New Altair Community Member
    Thanks, Helge - this worked well. I ended up putting the Free Memory operator right after my Retrieve operator, and since Retrieve has no input, also near the end of my process. Appreciate it.

    Is there a plan or timeline to systematically correct the Java garbage collection?
  • User13
    User13 New Altair Community Member
    Hi John,

    I think the problem here is that our upgrade notification can sometimes be activated before the Java GC frees additional memory. There are only those processes affected that use almost the maximum available memory. In those case the "Free Memory" operator can help. I think we will investigate this and maybe try to fine tune this a bit in order to avoid false notifications.

    Cheers,
    Helge