Space alocation on ROCK

Hi,

I just did a ROCK installation and migrated my database from my RoonServer Windows installation to the newly installed RoonServer on ROCK. I can see a huge difference in space allocation for the image cache, even if the number of files is quite similar, I am getting 33GB allocated on the ROCK vs. 5GB on my Windows system. The size of the actual database is the same, around 4GB and the ROCK Web Gui only reports these 4GB as being used, the remaining 29GB used by the image cache are not getting reported.

Image1
Image2

Does this difference come from the allocation unit size used by the ROCK filesystem? If so, can this be configured in any way to avoid such wastage? My Windows C drive is using standard 4K allocation units.

Thanks!

@Adrian_Matala The size on the data medium depends mainly on the image material. On closer analysis, it is noticeable that artists’ images are now no longer stored on the Windows hard disk. Whether Rock still does it can be checked with a few random samples. Earlier in the release 1.7 gave the dopplet number of folders. Whether that is the reason here? The Windows file manager could count and visualize the amount of images, that would give more clarity.

Rock is a set thing which is not able to have any modifications. One of the reasons I use my ROCK NUC core as a backup to my Windows Core. I want to be able to see core temps and do basic hardware diagnostics, which you cannot do with RoonOS.

@Rugby I thought it was just a particularly stripped down and for audio (Roon) rebuilt ARCH and the hard drive is removed and connected via USB in legacy-mode as open as any other Linux installation.

Of course, only if it does not try via Windows or UEFI. A simple Linux boot (memory stick) plus connected / installed ROCK should show much more. A tinkering solution.

The other thing to remember is that the only thing that can be on the main drive is ROCK OS. So the space is not really “wasted” as it is unusable for anything else anyway.

No it’s not based on any existing distro according to Roon, they built it from the ground up to run Roon.

Roon OS is a custom Linux-based operating system tailored to run Roon Server and provide a premium, device-like user experience for hosting Roon Core.

Each new cut has a base system. I meant to have read that not Debian, Slackware, Red Hat, but the offshoot ARCH was used for further development.

Roon writes itself, it is an extremely lightweight Linux-based operating system.

It is a turnkey image with all the necessary parts to create a Linux-based Roon appliance without any prior knowledge of Roon or Linux.

Just the hint: It makes your internal storage and external storage drives (USB) available via an SMB share (Micro-NAS!). The hint of legacy boot support and much more points to more standard access via Linux tools from which it was created.

However, it will not be relevant for 99% of users, only system specialists will be interested.

Yes its Linux but Danny has said many times it’s not based on any existing Distro.

This statement is correct, because he has made more than, for example, Linux Mint from Ubuntu or Ubuntu from Debian.

But he will not have made the base himself, but will have derived the Linux - basic system from a branch (Debian, Slack, Arch…). Perhaps he will clarify it again himself. Surely he did not take my beloved Manjaro or the Mabox distribution built from it.

The consideration of offering it with a particularly nice or very lightweight desktops is certainly in the desire space of the Linux community. Some hobbyists are already on this audio train.

@Uwe_Albrecht As mentioned, I did a backup of the database on my Windows system and restored it on the ROCK, so whatever was present on the source system has now been copied on the ROCK. Also the number of files is quite the same, 31.659 on Windows and 31.678 on the ROCK (although I am not sure why there are more than twice as many folders on the Windows system, maybe some historical reason as that database was initially built on an older version of Roon).
I was just surprised to see so much more space allocated on ROCK which would mean the filesystem allocation size must be quite larger there, causing a lot of wasted space when many small files are present. It’s also quite annoying that the space is not properly reported in the ROCK Web UI as only the 4GB allocated to the actual database as reported as being used.

If the double folder number was explained with old artist images that no longer exist, this point could already be worked off.

Only Size on Disk still needs an analysis. I have not found such differences between Linux/Windows or NTFS/ex4.

Could it be the swapped buffer?

here info?

Swapping? Partition with swap file?

Yes, I did make that base myself. Roon OS is not based on any of those distributions. It was built from an understanding of what things are required to make Roon run and knowing the purpose and intention behind every piece of software running on UNIX-like operating systems and then designing a new minimal operating system.

You can see “from scratch” projects all over, but the most famous one is probably https://www.linuxfromscratch.org/ That said, Roon OS was not based on “Linux from Scratch” either.

It’s about as far from Manjaro as possible. Also, Manjaro is based on Arch, and Roon OS is pretty far from Arch too.

Roon OS has no swap.

6 Likes

@danny Thank you for the perfect clarification. The general advancements of the Kernel, Pipewire & Co are in your observation and are carried along into the future as the lowest common denominator or do you go your own way there as well?

Can swap as a memory usage technique in other operating systems cause trouble and would you generally recommend Roon enthusiasts not to use it?

I don’t use it on my Manjaro and therefore have no observation on it.

as needed.

Roon uses ALSA directly, so pipewire and the likes are left out of Roon OS because they are not needed. You find that is the case for most software running on most distributions.

  1. The RAM usage on Roon OS grows relational to the library size being managed by Roon.
  2. We find that most people do not “shrink” their library size.
  3. Swap’s purpose is to temporarily provide a larger (but much slower) medium for application memory when it is exceeded. The hope is that it is short term so your system can go back to performing well.

Swap on a special purpose OS is less important because you aren’t allowed to run arbitrary software on the machine. If you exceed the RAM capacity in Roon OS, Roon crashes, and the fix is to add RAM.

1 Like

Hi, I feel it would be beneficial for Roon OS to report it’s peak RAM usage on the Web Admin Page and also to report on the remote when it’s RAM usage exceeds say 90% of available RAM, this would enable users to be proactive (and add RAM) rather than complain that the Roon Core keeps crashing.

5 Likes