Just installed Proxmox and memory usage is showing as 1.07% (1.34 GiB of 125.84 GiB). Just wondering why it's not displaying the other 2.16GB as there's 128GB installed?
Unfortunately, no. RAM is always base-2. It would actually be more complicated to construct memory modules that are not based on 2 due to things like decoding and mapping.
The "memory loss" comes from different sources:
- hardware reservation
- share of memory resources to GPU
- etc.
I've also a 128 GB machine here (similar output than you in PVE GUI) so that I can try to explain how to look at the kernel output on boot:
The maximum available 134215624K is almost exactly 128 GiB:
Code:
(134215624 + 2104 ) / 1024.0 / 1024.0
The correction factor of 2104 comes probably from further hardware reservations and memory mappings. The lower value was a start value and there are further "freeing" messages logged in my dmesg so that this number increased eventually to:
The Linux kernel reserves some memory to administer the available memory. This administration takes a few percent of the memory and when you have hundreds of GB's of memory, that means that a few GB is not available.
Also, some memory is reserved per CPU and with more cores today, it also becomes noticeable. I have 16 cores but my BIOS says that 32 is possible, so I can get a little memory back with this possible_cpus=16 kernel parameter.
All in all, there is not much you can do: it takes memory to manage memory.