Proxmox build

How well will an ASRock X870 PRO RS AM5 AMD X870 ATX Motherboard with an AMD Ryzen 7 9700X - Ryzen 7 9000, 8 core, 16 threads CPU and 32gbs of RAM run with Proxmox? This will be for a home lab setup. I saw the wifi version on Level1Linux saying it is a good motherboard for Linux. I will eventually want to add a GPU to try LLM’s.
I have never built a computer using a GPU. Trying not to buy something will not do what I would like it to do.

Thanks

Do you have an idea of the things you want to try out on the build/in Proxmox? It’s not very many cores or much memory to play with if you are planning to host multiple VMs…

especially not if you are using ZFS, I have three VMs on a four disk raidz1 (that was not the best configuration on my part. but I will fix that later). and even though the VMs are allocated ~130GB of ram. ZFS has the system ram of proxmox sitting at ~500GB of ram used.

Proxmox runs on 4GB RAM and 2 cores just fine. It’s what VMs and Containers you use that is setting the needs. An OS doesn’t use any/many resources by its own. It’s just a modded Debian Linux at the end of the day.

4x VMs with 8GB each → 32 GB won’t do. You usually run out of memory before you run out of CPU in my experience. Oversubscribing cores

If you reduce ARC to a minimum, that’s normal. In that case you neither make use of page cache or ARC. The VMs are probably piling up their page cache while the way more efficient ARC is choked to death.
Just because you can, doesn’t mean you should. ARC needs room to breathe and excel.

2 Likes

I havent changed any defaults for arc. is is this a thing that I can change live in production?

not wanting to hijack this thread. but if it will improve performance, I think everyone would be interested.

Proxmox default ARC size maximum is 10% of system memory. OpenZFS default is 75%. Proxmox staff cut this down by a lot.

cat /etc/modprobe.d/zfs.conf

change the number to the desired amount of bytes you want. Proxmox only has the arc_max changed by default.

you can also add more lines for other parameters to set on boot. see /sys/module/zfs/parameters for all available parameters.

1 Like

what is interesting. is I was trying to persue knowledge a moment ago. and /etc/modprobe.d/zfs.conf doesnt exist. but on the proxmox wiki it says that I can change the current boot arc limit with echo "$[10 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max

I will have to do some testing.

though it appears that proxmox’s arc upper limit is actually 10% of physical memory or 16GiB which ever is less. which is a bit bizzare to me. but hey. im sure this decision was made by someone with some sort of reasoning.

touch+edit the file I mentioned. this is the official file for stuff to load on boot.
enter: options zfs zfs_arc_max=99999999999999999 and replace number with e.g. 32GB in byte terms (welcome to ZFS)

The parameter doesn’t say that. It just sets the maximum in bytes.

To monitor ARC usage, I suggest using htop and setting the meters to include both ZFS ARC and ZFS compressed ARC (yes, htop has full ARC stats built-in). Has very good overview on how ARC is using the memory as well as compression ratio, etc.

It’s made by someone who has to account for the majority of admins not using Proxmox as a primary storage (and ignorant users complaining about high ZFS memory usage). And in that context, the 10% make sense. If you are running actual storage on Proxmox, 25%-75% is the way to go. I can’t stand free memory when I could cache data with it.

1 Like

I can add more ram. I have been told the amount of threads is more important the cores. I was running Proxmox on an old 8 core i7 with 24 gigs of ram. I never ran all my VM’s at the same time.
This will be for home use only.
Seems like the mb must be okay, didn’t hear anything bad about it.

Thanks for every ones input.

I mean, it really depends on what you are running.
Most users have a few VMs running like Jellyfin or Plex or Pihole that are 99% of the time idling CPU wise. So I would argue that for most users, an Intel Core i5 6000 with 4 cores is totally fine and way more important is a fast NVME ZFS mirror for storage.

Proxmox nerved ARC even more. It is now 10% of total memory but 16GB max. IMHO this was a not so smart decision that gave in to the uneducated “OMG my RAM is 90% full and the bar is red!” crowd, but fortunately this is easy to change.
Empty RAM is wasted RAM. Use as much RAM as you can for ARC. ARC will speed up reads.
If one of your VMs uses more RAM (ballooning with QEMU) of if you startup a VM, ARC will just shrink.

There is just one catch. The TXG with its 5 seconds goal is also in ARC and unshrinkable. So if have a 1Gbit/s NIC, there might be roughly 600MB unshrinkable ARC you should account for to not run into an out of memory situation.

2 Likes

Didn’t know that 5 is also the minimum. I only ever raised it :slight_smile:

And pfSense/OPNSense, game servers…the usual stuff. This is all done well with 6 cores. People buying N100/N305 for a reason. CPU is rarely the limit. Expansion (NIC, drives, more GPU, etc.) or memory is what is usually limiting you at some point as you find new stuff to you want to run on your server.

1 Like

what is this variable and how would you raise it?

I am looking to finetune performance of ZFS for a windows server vm. and there are a lot of things that I still need to learn it seems.

I wrote a guide year ago or so…second posting has the section with tuning and parameters:

Most of the stuff can be changed at runtime (ZFS is meant to be running 24/7 after all). A lot of parameters to tweak, check the official OpenZFS Documentation (link in the link above) to make sense of them and your options

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.