Hi,
Unless you changed it, the default behaviour in TLJH is to cull idle servers after 10 minutes. You should see if this is happening by inspecting /var/log/syslog. A check for idle servers happens every 60 seconds (by default), as shown by messages of the type:
200 GET /hub/api/users (cull-idle@127.0.0.1) 21.34ms
and the culling itself, after 600 seconds:
cull_idle_servers:154] Culling server (inactive for 00:10:35)
I’m not sure exactly how “inactive” is defined: it seems that servers can be culled even if the kernel is active but it is not writing to standard out (but this behaviour doesn’t seem to be 100% reproducible so perhaps it depends on other factors. If someone could clarify that would be great.).
You can turn off culling through the tljh-config config tool, as described here:
http://tljh.jupyter.org/en/latest/topic/idle-culler.html
i.e.,
sudo tljh-config set services.cull.enabled False
sudo tljh-config reload