Roon Server memory (RAM) consumption on Linux without vm.swappiness = 0

A perspective for a Roon Server running on my Red Hat Enterprise Linux server:

# uname -r
5.14.0-162.18.1.el9_1.x86_64
# cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.1 (Plow)

It’s helpful to consider all processes that belong to the Roon service:

 ├─start.sh───RoonServer─┬─RoonAppliance─┬─RAATServer───27*[{RAATServer}]
 │                       │               └─91*[{RoonAppliance}]
 │                       ├─processreaper  
 │                       └─25*[{RoonServer}]

As we see, it is more than the RoonServer Process.

In detail:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        1817  0.0  0.0   7120  3104 ?        Ss   Mar13   0:00 /bin/bash /opt/RoonServer/start.sh
root     2458709  0.0  0.1 22685820 118488 ?     Sl   Mar16   0:11 /opt/RoonServer/RoonDotnet/RoonServer RoonServer.dll
root     2458755  0.3  4.2 27739536 2820548 ?    SLl  Mar16  28:22 /opt/RoonServer/RoonDotnet/RoonAppliance RoonAppliance.dll -watchdogport=45279
root     2458759  0.0  0.0   3364  1192 ?        S    Mar16   0:00 /opt/RoonServer/Server/processreaper 2458755
root     2458888  0.0  0.2 23182648 166516 ?     Sl   Mar16   0:43 /opt/RoonServer/RoonDotnet/RAATServer RAATServer.dll

Linux memory usage is a bit complicated as some have already described previously.

We can however calculate the effective memory footprint of a process, which I have done in the table below for the two biggest Roon-related processes and some selcted non-related processes to provide a comparison of how much memory the typical Linux system uses:

 Private  +   Shared  =  RAM used       Program                 
...  
 14.3 MiB +   6.7 MiB =  21.0 MiB       systemd (5)
  7.4 MiB +  18.3 MiB =  25.7 MiB       smbd (6)
 29.9 MiB +   1.7 MiB =  31.7 MiB       firewalld
 33.3 MiB +   9.3 MiB =  42.6 MiB       xfdesktop
 26.2 MiB +  21.1 MiB =  47.3 MiB       xfwm4
 31.8 MiB +  19.6 MiB =  51.4 MiB       xdg-desktop-portal-gnome
...                                                          
 91.8 MiB +   6.2 MiB =  98.0 MiB       RoonServer
...
138.9 MiB + 400.5 KiB = 139.2 MiB       squeezeboxserve
...
  1.5 GiB +   3.2 MiB =   1.5 GiB       jellyfin
  2.8 GiB +  20.2 MiB =   2.8 GiB       dotnet (2)
...

Relevant for this discussion is RoonServer and dotnet, which RoonServer uses.

In my case then, it’s about 3GB that Roon uses.

2 Likes