How are computing resources shared in Rstudio Server Pro?

Hi everyone,

I was wondering what are good ways of sharing/ allocating computing resources on Rstudio server?

For example, let's say I have 20 users on a 256GB server, but usually not more that 3 or 4 at the same time. Typically people will use less that 16GB each, but what happens if someone's program goes awry and tries to use all 256GB?

Who's process gets killed?

I've been looking at "cgroup" and it seems like an approach would be to give assign a different cgroup to each of the 20 users with a soft limit at 32GB. My understanding is that you would be allowed to use more than 32GB, but you would be the first killed if the server ever runs out of RAM.

IS this a good idea? The downside is that I don't see IT wanting to create a new cgroup every time a new user joins.

Hi @morglum,

You can set per-user and session resource affinities and limits in the RStudio Server Pro config.

More details in the admin guide:
https://docs.rstudio.com/ide/server-pro/r-sessions.html#cpu-affinity-and-scheduling-priority
https://docs.rstudio.com/ide/server-pro/r-sessions.html#resource-limits

Does this accomplish what you're trying to do?