Any change in operating system recommendation for large libraries due to .NET Core migration?

I’m considering changing my storage/music server’s OS from unraid to either Windows or linux, maybe ubuntu. It’s currently running unraid with roon core in steefdebruijn’s docker. The question is, Windows or linux?

In the knowledge base article on Roon System Requirements, in the section on Largest Libraries (defined as > 250k+ tracks), it is written:

With libraries this large, we expect the right hardware will work, but it’s definitely not something that we test with in-house. Your best bet will be to get a beefy Roon OS or Windows setup (we do not recommend standard Linux or macOS Cores for this) with a fast new CPU and plenty of RAM.

I’ve read in this forum that the recommendation against linux for large libraries was due to garbage collection problems in the mono implementation handling roon’s gazillion objects in the heap, and that the Microsoft GC in .NET Core does a lot better with roon’s memory utilization. With the move to .NET Core, would roonlabs please advise if this recommendation against linux for large libraries is still in effect?

Thanks,
- Eric

There is a new Linux version of Roon Server that is supposed to be better performing…there was beta offered to test thi, bot sure if its still available but release was I believe to be very soon.

The second link I posted to the knowledge base article says the release date is expected to be November 3. But neither answers my specific question, if the switch to .NET Core will alter roonlab’s recommendation against using linux with large libraries.

I have found a physical limit at 1.4 million titles with a Windows 10 at 16 GB RAM that cannot be exceeded. I was impressed what a very old Acer Aspire 8943 G (ca. 2009/2010) with the first i7 can still do.

Now I’m on Linux Manjaro here


and want to add about 0.6 million titles. There are not yet 30 GB used up and I have 64 GB RAM on the fast Ryzen 4800 with 2 TB NVME SSD

Startup time 7 to 8 minutes under Manjaro. The question remains how responsive the system will still be when it has read in between 2 or 3 million titles. It certainly depends on the number of artists and albums. I think with 3 million artists and albums would be faster end in the terrain.

It will still take about 14 days until the remaining titles are read in. After that, the further tests will begin.

Read in, listen to music, search… works now still quite well and if the performance drops, I tend with the devices to the small break with restart, because the short startup time helps and makes the system faster again. I expect it to be even faster when the music is on a second internal NVME SSD in the future. Up to 8 TB would already be possible today.

I did not experience the large memory buildup under Ubuntu with this Arch system. That large and small databases on all platforms become slower over time also corresponds to my observation. I don’t see any advantages in going on the Roon journey with Microsoft or Apple alone.

Just a follow up on @wizardofoz’s point. The beta is now closed and the release is slated for Wednesday 3rd November.

That’s an interesting question. Memory use on my system has been leaner since using the beta. The Mono based version had a pretty horrible memory leak somewhere though making performance variable. That kind of thing makes standard recommendations hard as no matter what size the library the core starts to struggle once it’s taken most of the available memory. The RoonAppliance process would happily eat its way through my NUC’s 16GB until everything became slow. My library is not that large just less than 30K local tracks plus streaming.

I had my 60,000 favorites tested on MacBook Pro (2009) Acer Aspire 8943G, Aver V5…with Linux Manjaro compared to Windows 10 and macOS, 8GB RAM and i5 were always sufficient.

roonlabs hasn’t tested/recommended manjaro yet.

So far our QA team has tested these improvements successfully with the following Linux distributions:

Ubuntu 20.04
Debian 10
Fedora
ArchLinux
CentOS 7 and 8
LinuxMint

What hardware are you getting 7-8 minute startup times with 2 million tracks? And is that with the .NET Core beta, or mono build?

Thanks,
- Eric

Manjaro is a easy to use ArchLinux like LinuxMint based on Debian or Ubuntu.

7-8 minutes it testet with new beta 842 (release is 3. 11. 2021)


This release is also not bad

A bit more info about the hardware, please! Or at least the cpu? 7-8 minutes with a Threadripper 3995x would be unimpressive, while 7-8 minutes on an Intel atom would be a pretty big deal for .NET Core.

I have configured here online

Ryzen 4800 only
Geforce 2060 only

That’s very encouraging, Uwe. Thank you!

I’ve been considering building a new server using the Ryzen 5 5600x CPU: very good single thread performance with relatively low TDP and price. This compares it to the CPU in your laptop. Very similar performance. My library is about half the size of yours, so I’d expect 3-4 minutes for roon to start up. That’s about 1/3 of what I’m getting now, a vast improvement.

The CPU seems to meet the requirements @brian posted in 2018 for large libraries restricted to Windows (see below, and original post), but given your experience with the beta, it seems roon works with very large libraries on linux as well as on Windows now that .NET Core memory management is on linux.

Thanks,
- Eric

I had read that too, but it’s over 4 years old and it still fit my even older Acer Aspire 8943G, so I went on the Roon journey with Windows 10 for now. I had at 1.4 million titles, but then no chance to expand further and it took until 30 minutes at startup.

Sure, that was written four years ago by Brian, but it’s still the official advice in the knowledge base article regarding “largest libraries”. Thus I started this thread looking for official advice given upcoming changes to linux memory performance with .NET Core.