We are hosting 2 services on our RHEL 7.4 server: Jupyterlab and RStudio. Jupyterlab sessions of individual users tend to open a lot of files:
# lsof|grep e613664|wc -l
31581
Our problem is that the users who have an active Jupyterlab session (and therefore many open files) can't use RStudio. they're getting various 'cannot fork', 'resource unavailable' errors, or can't even use RStudio. As soon as we kill their Jupyterlab session, RStudio starts working fine for them.
Initially, I thought that the problem is caused by the large number of open files. The number of processes for each user is low, couple of dozens at most. Therefore, I've changed the ulimit -n value globally to 65k. our current ulimit settings:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31136
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 16384
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
But the problems didn't go away. Are there any other per-user limits that I should be looking at?