Checking memory usage in ROCK

Sice I run Core on a 5th gen nuc i7 and Bridge on a i5 I’m curious about the amount of RAM used in the boxes. I put 8GB in both, but have some more laying around. What happens if it runs out of physical RAM, does it swap like a Windows machine?

ROCK doesn’t swap.

The bridge is very light on resources.

The core keeps its db in memory - but what you have will be plenty unless you have a huge library.

The NUCs run faster with 2 memory cards - so use 2 if you want best performance on the core machine if you feel the need for upsampling/ dsp etc.

But esp with an i7 it’s probably idle most of the time anyway!

1 Like

I’ve actually got 1x8 in the core and 2x4 in the bridge. Guess I should swap them?

1 Like

You should.

Linux, Unix really, has the concept of swap but you can turn it off. What gets swapped and why is a bit different than Windows so it’s not an easy comparison. But, yes, generally Linux systems are built with swap space.

Now, in saying all that here’s a post from the individual who knows that stats very directly “Roon OS has no swap”.

Roon does use an in memory database but that does not mean the entire database tree is resident in memory. However, the more memory you have the more of the DB can live in resident memory which will make the system faster. There is no way to see memory utilization on ROCK. You just kind of have to go by feel.

This is where the database is located. You want lots of fast memory and fast disk for when the database transitioned to parts of the data on disk vs. what’s resident.

ROCK is very lightweight… You can easily boot it in 4GB of RAM. From there, it’s all dependent on the size of your library.

A bridge has no database. For this reason… it needs just enough memory to boot and handle the stream (if you’re playing DSD1024 you’ll want more memory than just 16/44.1, but not much more). If you’re not experiencing drop-outs, stuttering, etc. then you have enough memory.

1 Like

@evert_kjellgren

I want to point out why this is. On the motherboard you have multiple “buses”, consider them like traffic lanes, between the CPU and all the peripherals. This includes a bus between the CPU and the memory. Buses, like lanes of traffic, are a specific width. This determines how much data can be moved per clock cycle of the bus. For current, consumer processors, this lane is 64 bits wide.

To increase memory bandwidth, all modern consumer x86 compute uses an architecture called unganged dual-channel. This “dual-channel” allows for 2 64-bit buses to work together which doubles the memory bandwidth. The “unganged” part of that means these buses go to 2 different, but paired, memory slots. If you only have 2 memory slots then those are the paired ones. If you have more than 2 then you need to put memory into the paired slots which are usually color coded (check your manual).

Running with 1 stick of memory is, effectively, running the memory bus at half speed. The architecture is intended to utilize 2 slots, 2 64-bit buses, for full CPU <-> memory bandwidth.

Yes, go swap your sticks :wink:

Edit: also don’t mix your memory. Things like memory latency needs to be the same for a stable system. This is also why most memory is sold in “kits” of 2x. It’s to make sure the 2 paired modules are the same.

3 Likes

Thanks guys.
Just swapped the modules.

And is it now any faster?

Impossible to say… I have no performance issues, but I didn´t have that before either.