I'm running into memory issues while running voila. It seems like old processes hang around and slowly increase the memory until almost complete unresponsiveness and I need to reboot. I am using a fresh install of Ubuntu 18.04 on AWS, pip3 install everything, and redirect port 8866 to 80 using iptables. Here's a screenshot of htop:

I'm unable to sort by anything at this point due to unresponsiveness. I was wondering if anyone has experienced anything similar and what they have done about it.
TLDR; After launching voila, I have a bunch of zombie processes eating my memory until I have to reboot.
It might be that the kernels are not properly beeing shut down upon refresh / closing of browser tabs.
We might need to implement an automatic shutdown in case of inactivity in jupyter_server.
Yeah, I am thinking about making a hack cron job with psutil to kill old inactive ipython_kernel processes.
@scottlittle you can use the traitlets configuration system to specify how often kernels are culled, so they can be terminated when they are not active anymore. For example:
voila --MappingKernelManager.cull_interval=10 --MappingKernelManager.cull_idle_timeout=10 example.ipynb
Or create ~/.jupyter/voila.py with the following content:
c.MappingKernelManager.cull_interval = 10
c.MappingKernelManager.cull_idle_timeout = 10
Which version of voila were you using? After 0.10, this may happen less often since the browser now triggers the shutdown of kernels (till 0.10 there was an issue with that for chrome). And otherwise what @jtpio says seems the best option.
@maartenbreddels I'm using 0.1.1. @jtpio I'll give that a shot.
@jtpio I created ~/.jupyter/voila.py and it kills the kernels as expected, but some processes are still left running. Over time the processes have grown as I open and close apps (after running voila on a notebook folder).

These are actually threads of the initial process (process 1217 in my case, as seen when running ps -elfT). I'm guessing that these threads kill the jupyter kernels. Should they also be killing themselves?
Here's my output to ps -elfT:
F S UID PID SPID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 1 0 0 80 0 - 39877 - 01:17 ? 00:00:03 /sbin/init
1 S root 2 2 0 0 80 0 - 0 - 01:17 ? 00:00:00 [kthreadd]
1 I root 4 4 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kworker/0:0H]
1 I root 6 6 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [mm_percpu_wq]
1 S root 7 7 2 0 80 0 - 0 - 01:17 ? 00:00:02 [ksoftirqd/0]
1 I root 8 8 2 0 80 0 - 0 - 01:17 ? 00:00:45 [rcu_sched]
1 I root 9 9 2 0 80 0 - 0 - 01:17 ? 00:00:00 [rcu_bh]
1 S root 10 10 2 0 -40 - - 0 - 01:17 ? 00:00:00 [migration/0]
5 S root 11 11 2 0 -40 - - 0 - 01:17 ? 00:00:00 [watchdog/0]
1 S root 12 12 2 0 80 0 - 0 - 01:17 ? 00:00:00 [cpuhp/0]
1 S root 13 13 2 0 80 0 - 0 - 01:17 ? 00:00:00 [cpuhp/1]
5 S root 14 14 2 0 -40 - - 0 - 01:17 ? 00:00:00 [watchdog/1]
1 S root 15 15 2 0 -40 - - 0 - 01:17 ? 00:00:00 [migration/1]
1 S root 16 16 2 0 80 0 - 0 - 01:17 ? 00:00:01 [ksoftirqd/1]
1 I root 18 18 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kworker/1:0H]
5 S root 19 19 2 0 80 0 - 0 - 01:17 ? 00:00:00 [kdevtmpfs]
1 I root 20 20 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [netns]
1 S root 21 21 2 0 80 0 - 0 - 01:17 ? 00:00:00 [rcu_tasks_kthre]
1 S root 22 22 2 0 80 0 - 0 - 01:17 ? 00:00:00 [kauditd]
1 S root 25 25 2 0 80 0 - 0 - 01:17 ? 00:00:00 [khungtaskd]
1 S root 26 26 2 0 80 0 - 0 - 01:17 ? 00:00:00 [oom_reaper]
1 I root 27 27 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [writeback]
1 S root 28 28 2 0 80 0 - 0 - 01:17 ? 00:00:00 [kcompactd0]
1 S root 29 29 2 0 85 5 - 0 - 01:17 ? 00:00:00 [ksmd]
1 I root 30 30 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [crypto]
1 I root 31 31 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kintegrityd]
1 I root 32 32 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kblockd]
1 I root 33 33 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ata_sff]
1 I root 34 34 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [md]
1 I root 35 35 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [edac-poller]
1 I root 36 36 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [devfreq_wq]
1 I root 37 37 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [watchdogd]
1 S root 40 40 2 0 80 0 - 0 - 01:17 ? 00:00:20 [kswapd0]
1 I root 41 41 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kworker/u5:0]
1 S root 42 42 2 0 80 0 - 0 - 01:17 ? 00:00:00 [ecryptfs-kthrea]
1 I root 84 84 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kthrotld]
1 I root 85 85 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [nvme-wq]
1 I root 90 90 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ipv6_addrconf]
1 I root 99 99 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kstrp]
1 I root 154 154 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ena]
1 I root 266 266 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [raid5wq]
1 S root 319 319 2 0 80 0 - 0 - 01:17 ? 00:00:00 [jbd2/nvme0n1p1-]
1 I root 320 320 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ext4-rsv-conver]
1 I root 352 352 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kworker/0:1H]
1 I root 388 388 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [kworker/1:1H]
1 I root 397 397 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [iscsi_eh]
4 S root 400 400 1 0 79 -1 - 25756 - 01:17 ? 00:00:00 /lib/systemd/systemd-journald
4 S root 411 411 1 0 80 0 - 10776 - 01:17 ? 00:00:00 /lib/systemd/systemd-udevd
4 S root 412 412 1 0 80 0 - 24427 - 01:17 ? 00:00:00 /sbin/lvmetad -f
1 I root 414 414 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ib-comp-wq]
1 I root 415 415 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ib_mcast]
1 I root 416 416 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [ib_nl_sa_wq]
1 I root 417 417 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [rdma_cm]
1 S root 442 442 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [loop0]
1 S root 450 450 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [loop1]
1 S root 469 469 2 0 60 -20 - 0 - 01:17 ? 00:00:00 [loop2]
4 S systemd+ 511 511 1 0 80 0 - 35481 - 01:17 ? 00:00:00 /lib/systemd/systemd-timesyncd
1 S systemd+ 511 555 1 0 80 0 - 35481 - 01:17 ? 00:00:00 /lib/systemd/systemd-timesyncd
4 S systemd+ 623 623 1 0 80 0 - 20042 - 01:17 ? 00:00:00 /lib/systemd/systemd-networkd
4 S systemd+ 652 652 1 0 80 0 - 17656 - 01:17 ? 00:00:00 /lib/systemd/systemd-resolved
4 S root 773 773 1 0 80 0 - 42705 - 01:17 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
1 S root 773 857 1 0 80 0 - 42705 - 01:17 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
4 S root 775 775 1 0 80 0 - 17643 - 01:17 ? 00:00:00 /lib/systemd/systemd-logind
4 S message+ 776 776 1 0 80 0 - 12525 - 01:17 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-act
4 S root 789 789 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 871 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 872 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 873 1 0 80 0 - 136013 - 01:17 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 930 1 0 80 0 - 136013 - 01:17 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 945 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 959 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 789 960 1 0 80 0 - 136013 - 01:17 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
4 S root 790 790 1 0 80 0 - 72024 - 01:17 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
1 S root 790 819 1 0 80 0 - 72024 - 01:17 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
1 S root 790 829 1 0 80 0 - 72024 - 01:17 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
4 S root 791 791 1 0 80 0 - 27603 - 01:17 ? 00:00:01 /usr/sbin/irqbalance --foreground
1 S root 791 799 1 0 80 0 - 27603 - 01:17 ? 00:00:00 /usr/sbin/irqbalance --foreground
4 S syslog 792 792 1 0 80 0 - 66817 - 01:17 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 792 986 1 0 80 0 - 66817 - 01:17 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 792 988 1 0 80 0 - 66817 - 01:17 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 792 1003 1 0 80 0 - 66817 - 01:17 ? 00:00:00 /usr/sbin/rsyslogd -n
4 S root 794 794 1 0 80 0 - 77203 - 01:17 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
5 S root 794 816 1 0 80 0 - 77203 - 01:17 ? 00:00:01 /usr/bin/lxcfs /var/lib/lxcfs/
1 S root 794 817 1 0 80 0 - 77203 - 01:17 ? 00:00:01 /usr/bin/lxcfs /var/lib/lxcfs/
1 S root 794 1317 1 0 80 0 - 77203 - 01:28 ? 00:00:01 /usr/bin/lxcfs /var/lib/lxcfs/
1 S root 794 2298 1 0 80 0 - 77203 - 06:25 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
4 S root 795 795 1 0 80 0 - 7937 - 01:17 ? 00:00:00 /usr/sbin/cron -f
4 S daemon 798 798 1 0 80 0 - 7083 - 01:17 ? 00:00:00 /usr/sbin/atd -f
4 S root 803 803 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 803 867 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
5 S root 803 868 1 0 80 0 - 213597 - 01:17 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 803 869 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 803 870 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 803 876 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 803 877 1 0 80 0 - 213597 - 01:17 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 803 899 1 0 80 0 - 213597 - 01:17 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 803 902 1 0 80 0 - 213597 - 01:17 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 803 903 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 803 1001 1 0 80 0 - 213597 - 01:17 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 803 1002 1 0 80 0 - 213597 - 01:17 ? 00:00:00 /usr/lib/snapd/snapd
4 S root 813 813 1 0 80 0 - 4103 - 01:17 ttyS0 00:00:00 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyS0 vt220
4 S root 822 822 1 0 80 0 - 46912 - 01:17 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-
1 S root 822 861 1 0 80 0 - 46912 - 01:17 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-
4 S root 823 823 1 0 80 0 - 3722 - 01:17 tty1 00:00:00 /sbin/agetty -o -p -- \u --noclear tty1 linux
4 S root 839 839 1 0 80 0 - 72220 - 01:17 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
1 S root 839 841 1 0 80 0 - 72220 - 01:17 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
1 S root 839 843 1 0 80 0 - 72220 - 01:17 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
4 S root 844 844 1 0 80 0 - 18074 - 01:17 ? 00:00:00 /usr/sbin/sshd -D
4 S ubuntu 1070 1070 1 0 80 0 - 19127 ep_pol 01:18 ? 00:00:00 /lib/systemd/systemd --user
5 S ubuntu 1072 1072 1070 0 80 0 - 48373 - 01:18 ? 00:00:00 (sd-pam)
1 S ubuntu 1216 1216 1 0 80 0 - 8045 poll_s 01:23 ? 00:00:00 SCREEN voila
0 S ubuntu 1217 1217 1216 0 80 0 - 410626 ep_pol 01:23 pts/1 00:00:33 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1224 1216 0 80 0 - 410626 ep_pol 01:24 pts/1 00:02:09 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 R ubuntu 1217 1225 1216 2 80 0 - 410626 - 01:24 pts/1 00:22:21 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1226 1216 0 80 0 - 410626 poll_s 01:24 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1244 1216 0 80 0 - 410626 poll_s 01:24 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1272 1216 0 80 0 - 410626 poll_s 01:25 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1300 1216 0 80 0 - 410626 poll_s 01:26 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1372 1216 0 80 0 - 410626 poll_s 01:41 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1389 1216 0 80 0 - 410626 poll_s 01:42 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1403 1216 0 80 0 - 410626 poll_s 01:43 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1424 1216 0 80 0 - 410626 poll_s 01:45 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1518 1216 0 80 0 - 410626 poll_s 02:24 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1533 1216 0 80 0 - 410626 poll_s 02:27 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1549 1216 0 80 0 - 410626 poll_s 02:28 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1563 1216 0 80 0 - 410626 poll_s 02:29 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1697 1216 0 80 0 - 410626 poll_s 02:36 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1713 1216 0 80 0 - 410626 poll_s 02:37 pts/1 00:00:08 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1730 1216 0 80 0 - 410626 poll_s 02:37 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1748 1216 0 80 0 - 410626 poll_s 02:37 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1770 1216 0 80 0 - 410626 poll_s 02:37 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1791 1216 0 80 0 - 410626 poll_s 02:37 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1807 1216 0 80 0 - 410626 poll_s 02:38 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1823 1216 0 80 0 - 410626 poll_s 02:40 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1865 1216 0 80 0 - 410626 poll_s 03:34 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1879 1216 0 80 0 - 410626 poll_s 03:35 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1895 1216 0 80 0 - 410626 poll_s 03:35 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1910 1216 0 80 0 - 410626 poll_s 03:36 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1945 1216 0 80 0 - 410626 poll_s 04:05 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 1962 1216 0 80 0 - 410626 poll_s 04:05 pts/1 00:00:07 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2012 1216 0 80 0 - 410626 poll_s 04:49 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2039 1216 0 80 0 - 410626 poll_s 05:02 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2053 1216 0 80 0 - 410626 poll_s 05:02 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2073 1216 0 80 0 - 410626 poll_s 05:05 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2103 1216 0 80 0 - 410626 poll_s 05:33 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2119 1216 0 80 0 - 410626 poll_s 05:37 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2137 1216 0 80 0 - 410626 poll_s 05:52 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2152 1216 0 80 0 - 410626 poll_s 05:53 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2166 1216 0 80 0 - 410626 poll_s 05:54 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2185 1216 0 80 0 - 410626 poll_s 05:56 pts/1 00:00:06 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2522 1216 0 80 0 - 410626 poll_s 09:46 pts/1 00:00:04 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2594 1216 0 80 0 - 410626 poll_s 12:53 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2622 1216 0 80 0 - 410626 poll_s 12:55 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2637 1216 0 80 0 - 410626 poll_s 12:55 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2655 1216 0 80 0 - 410626 poll_s 12:56 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2671 1216 0 80 0 - 410626 poll_s 12:56 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2687 1216 0 80 0 - 410626 poll_s 12:58 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2703 1216 0 80 0 - 410626 poll_s 12:58 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2730 1216 0 80 0 - 410626 poll_s 13:56 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2747 1216 0 80 0 - 410626 poll_s 13:56 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2763 1216 0 80 0 - 410626 poll_s 13:56 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2779 1216 0 80 0 - 410626 poll_s 13:57 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2794 1216 0 80 0 - 410626 poll_s 13:57 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2809 1216 0 80 0 - 410626 poll_s 13:59 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
1 S ubuntu 1217 2825 1216 0 80 0 - 410626 poll_s 13:59 pts/1 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila
4 S uuidd 1259 1259 1 0 80 0 - 7148 - 01:25 ? 00:00:00 /usr/sbin/uuidd --socket-activation
1 I root 2101 2101 2 0 80 0 - 0 - 05:32 ? 00:00:00 [kworker/1:1]
1 I root 2453 2453 2 0 80 0 - 0 - 06:47 ? 00:00:00 [kworker/0:1]
4 S root 2851 2851 844 0 80 0 - 26996 - 14:27 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 2957 2957 2851 0 80 0 - 26996 - 14:27 ? 00:00:00 sshd: ubuntu@pts/0
0 S ubuntu 2958 2958 2957 0 80 0 - 5790 poll_s 14:27 pts/0 00:00:00 -bash
4 S root 2974 2974 844 0 80 0 - 26996 - 14:29 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 3056 3056 2974 0 80 0 - 27591 - 14:29 ? 00:00:00 sshd: ubuntu@pts/2
0 S ubuntu 3057 3057 3056 0 80 0 - 5790 poll_s 14:29 pts/2 00:00:00 -bash
4 S root 3143 3143 844 0 80 0 - 26996 - 14:31 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 3224 3224 3143 0 80 0 - 26996 - 14:31 ? 00:00:00 sshd: ubuntu@pts/3
0 S ubuntu 3225 3225 3224 0 80 0 - 5790 wait 14:31 pts/3 00:00:00 -bash
1 I root 3344 3344 2 0 80 0 - 0 - 17:35 ? 00:00:00 [kworker/u4:0]
1 I root 3361 3361 2 0 80 0 - 0 - 17:35 ? 00:00:00 [kworker/0:0]
1 I root 3674 3674 2 0 80 0 - 0 - 17:35 ? 00:00:00 [kworker/1:0]
1 I root 3694 3694 2 0 80 0 - 0 - 17:49 ? 00:00:00 [kworker/u4:2]
0 R ubuntu 3705 3705 3225 0 80 0 - 10023 - 17:58 pts/3 00:00:00 ps -elfT
@scottlittle would you mind trying the same but with the classic notebook server?
That means placing the cull_interval and cull_idle_timeout settings in ~/.jupyter/jupyter_notebook_config.py (instead of ~/.jupyter/voila.py), start a few notebooks and let the kernels be culled.
@jtpio I set the cull settings in ~/.jupyter/jupyter_notebook_config.py and the kernels were not culled at all. I've previously set up a password at ~/.jupyter/jupyter_notebook_config.py for Jupyter, so I know the config file works for jupyter notebook.
@scottlittle by that I meant starting the notebook server with jupyter notebook and opening the notebooks with the classic notebook interface (not the voila render endpoint). Then closing the tabs (so they become idle).
This should pick up the cull settings.
@jtpio got it. After opening, running, and closing some apps and letting them be culled, this is what I got (see Jupyter processes at bottom):
F S UID PID SPID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 1 0 0 80 0 - 39916 - Jun09 ? 00:00:03 /sbin/init
1 S root 2 2 0 0 80 0 - 0 - Jun09 ? 00:00:00 [kthreadd]
1 I root 4 4 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kworker/0:0H]
1 I root 6 6 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [mm_percpu_wq]
1 S root 7 7 2 0 80 0 - 0 - Jun09 ? 00:00:00 [ksoftirqd/0]
1 I root 8 8 2 0 80 0 - 0 - Jun09 ? 00:00:49 [rcu_sched]
1 I root 9 9 2 0 80 0 - 0 - Jun09 ? 00:00:00 [rcu_bh]
1 S root 10 10 2 0 -40 - - 0 - Jun09 ? 00:00:00 [migration/0]
5 S root 11 11 2 0 -40 - - 0 - Jun09 ? 00:00:00 [watchdog/0]
1 S root 12 12 2 0 80 0 - 0 - Jun09 ? 00:00:00 [cpuhp/0]
1 S root 13 13 2 0 80 0 - 0 - Jun09 ? 00:00:00 [cpuhp/1]
5 S root 14 14 2 0 -40 - - 0 - Jun09 ? 00:00:00 [watchdog/1]
1 S root 15 15 2 0 -40 - - 0 - Jun09 ? 00:00:00 [migration/1]
1 S root 16 16 2 0 80 0 - 0 - Jun09 ? 00:00:00 [ksoftirqd/1]
1 I root 17 17 2 0 80 0 - 0 - Jun09 ? 00:00:00 [kworker/1:0]
1 I root 18 18 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kworker/1:0H]
5 S root 19 19 2 0 80 0 - 0 - Jun09 ? 00:00:00 [kdevtmpfs]
1 I root 20 20 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [netns]
1 S root 21 21 2 0 80 0 - 0 - Jun09 ? 00:00:00 [rcu_tasks_kthre]
1 S root 22 22 2 0 80 0 - 0 - Jun09 ? 00:00:00 [kauditd]
1 I root 24 24 2 0 80 0 - 0 - Jun09 ? 00:00:01 [kworker/0:1]
1 S root 25 25 2 0 80 0 - 0 - Jun09 ? 00:00:00 [khungtaskd]
1 S root 26 26 2 0 80 0 - 0 - Jun09 ? 00:00:00 [oom_reaper]
1 I root 27 27 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [writeback]
1 S root 28 28 2 0 80 0 - 0 - Jun09 ? 00:00:00 [kcompactd0]
1 S root 29 29 2 0 85 5 - 0 - Jun09 ? 00:00:00 [ksmd]
1 I root 30 30 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [crypto]
1 I root 31 31 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kintegrityd]
1 I root 32 32 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kblockd]
1 I root 33 33 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ata_sff]
1 I root 34 34 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [md]
1 I root 35 35 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [edac-poller]
1 I root 36 36 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [devfreq_wq]
1 I root 37 37 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [watchdogd]
1 S root 40 40 2 0 80 0 - 0 - Jun09 ? 00:00:25 [kswapd0]
1 I root 41 41 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kworker/u5:0]
1 S root 42 42 2 0 80 0 - 0 - Jun09 ? 00:00:00 [ecryptfs-kthrea]
1 I root 84 84 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kthrotld]
1 I root 85 85 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [nvme-wq]
1 I root 90 90 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ipv6_addrconf]
1 I root 100 100 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kstrp]
1 I root 154 154 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ena]
1 I root 265 265 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [raid5wq]
1 S root 318 318 2 0 80 0 - 0 - Jun09 ? 00:00:00 [jbd2/nvme0n1p1-]
1 I root 319 319 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ext4-rsv-conver]
1 I root 390 390 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kworker/0:1H]
4 S root 394 394 1 0 79 -1 - 25777 - Jun09 ? 00:00:00 /lib/systemd/systemd-journald
4 S root 404 404 1 0 80 0 - 24427 - Jun09 ? 00:00:00 /sbin/lvmetad -f
1 I root 406 406 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [iscsi_eh]
4 S root 410 410 1 0 80 0 - 10775 - Jun09 ? 00:00:00 /lib/systemd/systemd-udevd
1 I root 412 412 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ib-comp-wq]
1 I root 413 413 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ib_mcast]
1 I root 414 414 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [ib_nl_sa_wq]
1 I root 415 415 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [kworker/1:1H]
1 I root 416 416 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [rdma_cm]
1 S root 440 440 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [loop0]
1 S root 446 446 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [loop1]
1 S root 453 453 2 0 60 -20 - 0 - Jun09 ? 00:00:00 [loop2]
4 S systemd+ 461 461 1 0 80 0 - 35481 - Jun09 ? 00:00:00 /lib/systemd/systemd-timesyncd
1 S systemd+ 461 516 1 0 80 0 - 35481 - Jun09 ? 00:00:00 /lib/systemd/systemd-timesyncd
4 S systemd+ 623 623 1 0 80 0 - 20042 - Jun09 ? 00:00:00 /lib/systemd/systemd-networkd
4 S systemd+ 650 650 1 0 80 0 - 17656 - Jun09 ? 00:00:00 /lib/systemd/systemd-resolved
4 S syslog 769 769 1 0 80 0 - 66817 - Jun09 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 769 798 1 0 80 0 - 66817 - Jun09 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 769 799 1 0 80 0 - 66817 - Jun09 ? 00:00:00 /usr/sbin/rsyslogd -n
1 S syslog 769 800 1 0 80 0 - 66817 - Jun09 ? 00:00:00 /usr/sbin/rsyslogd -n
4 S root 770 770 1 0 80 0 - 72076 - Jun09 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
1 S root 770 796 1 0 80 0 - 72076 - Jun09 ? 00:00:01 /usr/lib/accountsservice/accounts-daemon
1 S root 770 801 1 0 80 0 - 72076 - Jun09 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
4 S root 781 781 1 0 80 0 - 7937 - Jun09 ? 00:00:00 /usr/sbin/cron -f
4 S root 783 783 1 0 80 0 - 17640 - Jun09 ? 00:00:00 /lib/systemd/systemd-logind
4 S root 785 785 1 0 80 0 - 42705 - Jun09 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
1 S root 785 858 1 0 80 0 - 42705 - Jun09 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
4 S daemon 787 787 1 0 80 0 - 7083 - Jun09 ? 00:00:00 /usr/sbin/atd -f
4 S message+ 789 789 1 0 80 0 - 12525 - Jun09 ? 00:00:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activa
4 S root 802 802 1 0 80 0 - 195692 - Jun09 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 802 866 1 0 80 0 - 195692 - Jun09 ? 00:00:02 /usr/lib/snapd/snapd
1 S root 802 867 1 0 80 0 - 195692 - Jun09 ? 00:00:03 /usr/lib/snapd/snapd
1 S root 802 868 1 0 80 0 - 195692 - Jun09 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 802 869 1 0 80 0 - 195692 - Jun09 ? 00:00:00 /usr/lib/snapd/snapd
1 S root 802 877 1 0 80 0 - 195692 - Jun09 ? 00:00:01 /usr/lib/snapd/snapd
5 S root 802 878 1 0 80 0 - 195692 - Jun09 ? 00:00:02 /usr/lib/snapd/snapd
1 S root 802 897 1 0 80 0 - 195692 - Jun09 ? 00:00:04 /usr/lib/snapd/snapd
1 S root 802 907 1 0 80 0 - 195692 - Jun09 ? 00:00:01 /usr/lib/snapd/snapd
1 S root 802 915 1 0 80 0 - 195692 - Jun09 ? 00:00:05 /usr/lib/snapd/snapd
1 S root 802 1193 1 0 80 0 - 195692 - Jun09 ? 00:00:01 /usr/lib/snapd/snapd
4 S root 803 803 1 0 80 0 - 27603 - Jun09 ? 00:00:02 /usr/sbin/irqbalance --foreground
1 S root 803 824 1 0 80 0 - 27603 - Jun09 ? 00:00:00 /usr/sbin/irqbalance --foreground
4 S root 804 804 1 0 80 0 - 58736 - Jun09 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
5 S root 804 825 1 0 80 0 - 58736 - Jun09 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
1 S root 804 826 1 0 80 0 - 58736 - Jun09 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
1 S root 804 28542 1 0 80 0 - 58736 - 06:25 ? 00:00:00 /usr/bin/lxcfs /var/lib/lxcfs/
4 S root 805 805 1 0 80 0 - 136365 - Jun09 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 870 1 0 80 0 - 136365 - Jun09 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 871 1 0 80 0 - 136365 - Jun09 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 872 1 0 80 0 - 136365 - Jun09 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 896 1 0 80 0 - 136365 - Jun09 ? 00:00:00 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 912 1 0 80 0 - 136365 - Jun09 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 923 1 0 80 0 - 136365 - Jun09 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
1 S root 805 964 1 0 80 0 - 136365 - Jun09 ? 00:00:01 /snap/amazon-ssm-agent/1335/amazon-ssm-agent
4 S root 818 818 1 0 80 0 - 18074 - Jun09 ? 00:00:00 /usr/sbin/sshd -D
4 S root 820 820 1 0 80 0 - 4103 - Jun09 ttyS0 00:00:00 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyS0 vt220
4 S root 821 821 1 0 80 0 - 72220 - Jun09 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
1 S root 821 827 1 0 80 0 - 72220 - Jun09 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
1 S root 821 830 1 0 80 0 - 72220 - Jun09 ? 00:00:00 /usr/lib/policykit-1/polkitd --no-debug
4 S root 823 823 1 0 80 0 - 3722 - Jun09 tty1 00:00:00 /sbin/agetty -o -p -- \u --noclear tty1 linux
4 S root 834 834 1 0 80 0 - 46912 - Jun09 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for
1 S root 834 862 1 0 80 0 - 46912 - Jun09 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for
4 S ubuntu 1049 1049 1 0 80 0 - 19129 ep_pol Jun09 ? 00:00:00 /lib/systemd/systemd --user
5 S ubuntu 1054 1054 1049 0 80 0 - 27930 - Jun09 ? 00:00:00 (sd-pam)
4 S uuidd 1305 1305 1 0 80 0 - 7148 - Jun09 ? 00:00:00 /usr/sbin/uuidd --socket-activation
4 S root 29723 29723 818 0 80 0 - 26996 - 15:57 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 29804 29804 29723 0 80 0 - 26996 - 15:57 ? 00:00:01 sshd: ubuntu@pts/2
0 S ubuntu 29805 29805 29804 0 80 0 - 5823 wait 15:57 pts/2 00:00:00 -bash
1 I root 29901 29901 2 0 80 0 - 0 - 16:08 ? 00:00:00 [kworker/0:2]
1 I root 30014 30014 2 0 80 0 - 0 - 16:13 ? 00:00:00 [kworker/1:1]
4 S root 30051 30051 818 0 80 0 - 26996 - 16:38 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 30156 30156 30051 0 80 0 - 27651 - 16:38 ? 00:00:01 sshd: ubuntu@pts/1
0 S ubuntu 30157 30157 30156 0 80 0 - 5790 poll_s 16:38 pts/1 00:00:00 -bash
4 S root 30185 30185 818 0 80 0 - 26996 - 16:40 ? 00:00:00 sshd: ubuntu [priv]
5 S ubuntu 30266 30266 30185 0 80 0 - 26996 - 16:40 ? 00:00:00 sshd: ubuntu@pts/3
0 S ubuntu 30267 30267 30266 0 80 0 - 5790 wait 16:40 pts/3 00:00:00 -bash
1 S ubuntu 30389 30389 1 0 80 0 - 8045 poll_s 16:58 ? 00:00:00 SCREEN voila --template=mytemplate
0 S ubuntu 30390 30390 30389 0 80 0 - 347986 ep_pol 16:58 pts/4 00:02:00 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30399 30389 0 80 0 - 347986 ep_pol 16:58 pts/4 00:00:13 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30400 30389 0 80 0 - 347986 ep_pol 16:58 pts/4 00:02:37 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30401 30389 0 80 0 - 347986 poll_s 16:58 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30439 30389 0 80 0 - 347986 poll_s 17:15 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30459 30389 0 80 0 - 347986 poll_s 17:19 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30476 30389 0 80 0 - 347986 poll_s 17:20 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30491 30389 0 80 0 - 347986 poll_s 17:20 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30507 30389 0 80 0 - 347986 poll_s 17:20 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30530 30389 0 80 0 - 347986 poll_s 17:29 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30548 30389 0 80 0 - 347986 poll_s 17:30 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30568 30389 0 80 0 - 347986 poll_s 17:36 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30594 30389 0 80 0 - 347986 poll_s 17:56 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30611 30389 0 80 0 - 347986 poll_s 17:59 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30630 30389 0 80 0 - 347986 poll_s 18:01 pts/4 00:00:02 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30658 30389 0 80 0 - 347986 poll_s 18:33 pts/4 00:00:01 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30678 30389 0 80 0 - 347986 poll_s 18:46 pts/4 00:00:01 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30707 30389 0 80 0 - 347986 poll_s 19:20 pts/4 00:00:01 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 S ubuntu 30390 30860 30389 0 80 0 - 347986 poll_s 21:39 pts/4 00:00:00 /usr/bin/python3 /home/ubuntu/.local/bin/voila --template=mytemplate
1 I root 30761 30761 2 0 80 0 - 0 - 21:10 ? 00:00:00 [kworker/u4:0]
1 I root 30766 30766 2 0 80 0 - 0 - 21:21 ? 00:00:00 [kworker/u4:1]
0 S ubuntu 30777 30777 29805 1 80 0 - 91967 ep_pol 21:36 pts/2 00:00:10 /usr/bin/python3 /home/ubuntu/.local/bin/jupyter-notebook
1 S ubuntu 30777 30782 29805 0 80 0 - 91967 ep_pol 21:36 pts/2 00:00:00 /usr/bin/python3 /home/ubuntu/.local/bin/jupyter-notebook
1 S ubuntu 30777 30783 29805 0 80 0 - 91967 ep_pol 21:36 pts/2 00:00:00 /usr/bin/python3 /home/ubuntu/.local/bin/jupyter-notebook
1 I root 31043 31043 2 0 80 0 - 0 - 21:45 ? 00:00:00 [kworker/u4:2]
0 R ubuntu 31045 31045 30267 0 80 0 - 10023 - 21:45 pts/3 00:00:00 ps -elfT
/home/ubuntu/.local/bin/jupyter-notebook
I didn't shutdown the voila before doing this, and you can see that the problem persists there.
Most helpful comment
@scottlittle you can use the traitlets configuration system to specify how often kernels are culled, so they can be terminated when they are not active anymore. For example:
Or create
~/.jupyter/voila.pywith the following content:Related to https://github.com/QuantStack/voila/issues/55.