I have now spent 5 days with Roonserver running exclusively an Odroid H4 (based on Intel N97) with 8GB of RAM running a minimal headless installation of ArchLinux which is connected via ethernet to the LAN. The H4 is also used as the main USB audio endpoint thereby replacing a separate RPi4 running Ropieee. Roon ARC connects fine. IPv6 has been deactivated in dhcpcd.conf.
/etc/dhcpcd.conf
...
noipv6rs
noipv6
...
Roon has been playing >20 continuous hours while I’ve been working, and I’ve let it run through the nights via Roon radio, and so far it performs very well with no glitches or latency issues. I have not altered roonserver.service and RAM now stays consistently between 18% and 22%. A few tweaks were necessary to run smoothly:
Without interrupting the audio stream or getting stuck, there were moments where Roon app briefly showed the lost connection icon. Also my ssh connection got disconnected quite often. Since the default linux network buffers are rather low at 208 kb. Increasing buffers to 16384kb in sysctl solved both issues and improved latency of the Roon music UI, scrolling through music library, etc. This did not have any noticeable change to RAM being used. I tried 32768kb as well which appears to be no different to 16384kb, not better or worse.
/etc/sysctl.conf
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.rmem_default=16777216
net.core.wmem_default=16777216
Also while still running smoothly there were 100% CPU spikes from time to time. The default linux CPU governor setting is ‘powersave’ where the H4 was often running at the low limit of +/- 1.4Ghz. While changing the setting to ‘performance’ definitely fixed this, it was running at a minimum of 2.5Ghz constantly which was raising the temps up a bit. I ended up setting the state back to ‘powersave’ but setting the minimum range to 2Ghz which solved the problem as well without idling so high. I have not seen any more max CPU spikes.
/etc/systemd/system/cpupower.service
[Unit]
Description=Set CPU governor to powersave with min frequency 2GHz
[Service]
Type=oneshot
##ExecStart=/usr/bin/cpupower frequency-set -g performance
ExecStart=/usr/bin/cpupower frequency-set --min 2GHz
ExecStart=/usr/bin/cpupower frequency-set -g powersave
[Install]
WantedBy=multi-user.target
I also have the following services running aside from bare essentials to run Roon Server:
dhcpcd.service for networking
cpupower.service
thermald.service
irqbalance.service
systemd-resolved.service
The moral of the story might be to only run Roon Server on a dedicated machine. I recommend the Odroid H4 as a reliable Roon Server platform for running on Linux. Not expensive, much smaller than a normal PC, silent / fanless possible with the above settings.
EDIT: I will try to run it without blocking IPv6 and see what happens to gain insight into whether it is part of the problem ornot
So all is good but there is a mystery. Qobuz shows all the media and tracks in Roon but when you select them to play it will not play/stream the selected audio saying “can’t find media” or something like that. I have never had this problem before. I researched all the forums and tried logging in/out, opened up a bunch of ports on the LAN, deleted cache folder, mDNS set in LAN zone in firewalld, etc. but Qobuz won’t stream through this new Roon server. While this could be related to router settings, nothing worked so I tried a switch to Tidal and it now just works. I’m a bit sad as I respect Qobuz for boldly opening up the streaming industry to untouched high res audio. Maybe I’m paranoid but sometimes I think the FLAC files (not MQA) used in Tidal are not as clean sounding as Qobuz. But my Roon server problem I believe is finally solved 
Thanks for the support on this issue