Best practise for allocated memory settings

bojana_trisic
bojana_trisic New Altair Community Member
edited November 5 in Community Q&A
Hello,

We have medium license for RapidMiner Server (64 GB), what would you recommend for Sever Memory and Job Container memory setting?

I am having a problem with out of memory error, even though I am dealing with relatively non-demanding processes. Nevertheless, process sometimes finishes and sometimes breaks, on the same data set. 

I am suspecting there is a problem with job container, as it has been killed forcefully. After this had , job run fine. 

Thank you in advance,
B.
Tagged:

Best Answer

Answers

  • Marco_Barradas
    Marco_Barradas
    Altair Employee
    @bojana_trisic it the depends on your use case remember that RM Server uses the memory left from your sever so you need to make sure there is 64GB exclusively for RM.

    After that remember that schedule tasks and process sent to the server are solved by the Queues and its agents. 
    An each agent takes up to the maximum amount of memory you configured. So if you have 8 agents with 8GB when the server asigns them jobs you'll be using all the memory of your license

    RapidMiner Server Memory is used for the apps and web services so again (I let it use up to 12GB since most of my work is donde through agents).

    And you should take into consideration that RM works with a backend Database so that DB is also demanding some Ram depending on the complexity of your queries. 

    I hope this shows you some light on what to look for. 
    Let me know if you need any help with the configuration. You could also ask for help in the enterprise support they have helped me a lot  during my journey with RapidMiner.
  • bojana_trisic
    bojana_trisic New Altair Community Member
    Hi @MarcoBarradas

    Thank you for your prompt reply.

    Server is used exclusively for RM, and we do not have web services or apps currently.  1 container, 1 agent. 

    ow can I check the amount of memory used by container? 

    What would you recommend for Sever Memory and Job Container memory setting?

    Thank you,
    Bojana
  • Marco_Barradas
    Marco_Barradas
    Altair Employee
    @bojana_trisic
    You can define the amount of memory under the following path assuming you are using the default agent
    \RM_HOME\job-agent-home\config
    On that file you'll define the amount of memory each job container can use and also the amount of container your Queue can handle.

    If you go to RM Server under the execution menu you'll find all the task that were executed on your server and you can see by clicking on the details the amount of memory each job took in order to execute the process you created.

    I can´t recommend you a perfect setup because that depend on what you are going to do.

    For example I have 

    4 queues on my server
    • Crawler: It has 10 job containers an each can take up to 4GB of RAM since my crawling is not that intensive
    • BIG JOBS: 2 containers of 10GB for complex queries, transformations and loops (loops eat a lot of RAM memory)
    • ETL JOBS: 3 containers up to 8 GB basically I sync DB with them
    • Intensive JOBS: 2 containers up to 20GB
    If you want to get deeper on the setting and configurations of the job agents you could go to https://docs.rapidminer.com/latest/legacy/configure/jobs/ 

    If you think I could continue helping you just @ me and I'll answer as soon as I have some free time.
  • bojana_trisic
    bojana_trisic New Altair Community Member
    Thank you, @MarcoBarradas

    This gives me some idea how to create setup that suits our needs. 

    I have just one more question, how much memory do you assign for Server itself (not the containers)?

    Regards,
    Bojana