I had 16 GB of RAM in my Proxmox host. I expected to see 16 GB. What I got was 11 GB.
The first time I noticed it was during a reboot. The Proxmox web UI said 11 GB installed. The free -h command showed 11 GB. The BIOS reported 16 GB. Something was missing 5 GB. Not a kernel module. Not a driver. Not a config. It was the UMA frame buffer, reserved by the AMD iGPU.
I had a headless server, no display, no GPU passthrough, no need for the integrated graphics. But the UMA frame buffer was still allocating memory. Every time the system booted, 5 GB was carved out for the iGPU, even though it had no use for it.
The fix was in the BIOS. I had to disable UMA frame buffer allocation. But I didn't find that setting right away. I tried looking for "graphics" in the BIOS, found a section called "Advanced Chipset Configuration," and there it was: "UMA Frame Buffer Size." Set to "Auto" by default. I changed it to "Disabled" and rebooted. The RAM came back.
I should have known this would happen. I've seen it before in other Proxmox nodes. The docs say nothing about it. The forums have a handful of posts about it, buried in threads about GPU passthrough or memory leaks. No one says, "Hey, if you're running a headless server with an AMD iGPU, you might be losing 5 GB of RAM."
I've been running this setup for months now. I've got a couple of other Proxmox nodes with the same hardware. I've applied the same fix on all of them. It's not a major issue, but it's one of those things that feels like a waste of resources. 5 GB is a lot for a headless server that's not even using the GPU.
If you're running Proxmox on hardware with an AMD iGPU and you're not using it for anything — no passthrough, no display, no headless GPU workloads — check the UMA frame buffer setting. It's easy to miss, but it's there. You'll save memory. You'll save confusion. And you'll avoid that moment when you think your system is broken, but it's just the iGPU eating your RAM.
You can find the setting in the BIOS under "Advanced Chipset Configuration." It's called "UMA Frame Buffer Size." If you're not using the integrated graphics, set it to "Disabled." You can also add nomodeset to your kernel command line if you want to avoid the iGPU altogether. But the BIOS setting is cleaner and more permanent.
I've seen this come up in discussions about Proxmox, Kubernetes, and even in some homelab setups with bare metal. It's not a common issue, but it's a real one. And it's one of those gotchas that doesn't make it into the official documentation. You have to dig for it. You have to know what to look for.
If you're running a headless server with an AMD iGPU and you're seeing unexplained memory shortages, check the UMA frame buffer. It's not a bug. It's a feature. And it's one you can turn off if you don't need it.
Top comments (0)