Additionally, GreenBoost feels like it is trying to fix the problem at the wrong layer, and has been designed for other workloads but games.
There’s new work on using a cgroup controller to manage or prioritize VRAM eviction aka boost memory usage for foreground apps at the cost of evicting VRAM for background processes.
KDE Plasma will probably soon implement it, CachyOS has a first preview implementation.
Again, the forum links above are not relevant for this because implementing dmemcg-booster and plasma-foreground-booster depends on very different kernel infrastructure: cgroups for device memory (dmemcg).
What is NVIDIA’s take on supporting dmemcg? Is driver support being worked on / planned? I’m pretty sure that previously mentioned forum posts need partial fixing first before we can even think of this because without eviction support in the NVIDIA driver at all, no dmemcg would be possible anyways, right? At least, it would be worth considering support for dmemcg while designing the fixes for the general VRAM allocation problems.
It would be really cool if NVIDIA will consider that or come up with their own solution. I’m not asking “when” but “if”. I don’t expect any implementation to appear this year, or even next year, because other driver improvements need to land first.
I gave it a try and, yes, it does something but i’m not sure if it’s correct. It caps the VRAM usage of processes to half of the card’s capacity which is 4.0/8.0GB. This could be an error from the Steam Overlay performance meter, but to me it seems like a bug.
nvidia-smi reports the full 8192MiB, and the game process using 732MiB (Portal 2), but Steam Overlay reports 0.7/4.0GB usage, the cap is gone when the booster is disabled.
I’ll ask to see if someone with an AMD card reports the same, to be 100% sure. Entirely possible this is a case that needs fixing on dmemcg-booster’s side, and not from NV, like getting VRAM capacity in some AMD specific way.
Update: On AMD it seems to show the full capacity. Strange.
Another user, with a 12GB 4070 this time. Also displaying 4GB:
Interesting, maybe try testing with a game that will use over 8 GB VRAM and see what happens? I’m also assuming you’ve already tried this on kernel 7.3.
Maybe try reaching out to the author and see if she has some ideas.
It looks more like the overlay is showing some sort of dynamic eviction bucket. On my 12 GB card, it also shows 4 GB, so it’s not simply “half the VRAM”. And games usually start with only 0.1 GB used in that bucket until it needs to start streaming textures. nividia-smi confirms that the game is using 5-6 GB after being loaded. So it’s also not just some difference, otherwise it would show 1-2 GB in that case.
I found that, with this feature enabled, games stream textures a little slower but usually can use the GPU better (stays at 100% instead of 98-99%) - not a big difference, and may also just mean that the GPU becomes busy with other stuff like bus transfers.
Concurrency with other processes using VRAM has certainly become better.
Running KDE Plasma here with dmegcg-booster installed and enabled.
dmemcg-booster does not work with the newly added cgroups in 615.71.09 on 4070 mobile, it seems that all services are active but when starting a game it does not use the cgroups to allocate thats why i get 8gb vram and 5.4gb pvram. anyone know how to fix that? i tried everything i know of
To answer your question, I’ll provide some information about NVIDIA’s stance on supporting dmemcg (device memory cgroups) for VRAM management.
While NVIDIA has not explicitly announced plans to support dmemcg, there are some indications that they are aware of the importance of VRAM management and are working on improving their drivers.
In the provided context, there is no direct mention of dmemcg support. However, there are discussions about improving VRAM allocation and eviction management in the NVIDIA drivers. For example, the context mentions that NVIDIA is working on fixing VRAM allocation issues and improving eviction management, but it does not provide a specific timeline or details about dmemcg support.
Given the current state of the NVIDIA drivers and the importance of VRAM management for gaming and other workloads, it is likely that NVIDIA will consider supporting dmemcg or implementing their own solution for VRAM management. However, without an official announcement or confirmation from NVIDIA, it is difficult to provide a definitive answer.
In summary, while there is no concrete evidence of NVIDIA’s plans to support dmemcg, the company is aware of the importance of VRAM management and is working on improving their drivers. It would be beneficial for NVIDIA to consider supporting dmemcg or implementing their own solution for VRAM management, especially given the growing interest in this area from the Linux community.
Is the cgroups-based memory partitioning in the release notes for something else?
And @hurikhan77 noticed an improvement in memory management in his testing. I suppose it could be a coincidence but would love it if you or someone from NVIDIA could provide a clarification on the support that was added in the latest release.
yo, do you maybe have an idea what the problem could be with the dmemcg booster not prioritizing the vram the game needs on a mobile gpu, cus i couldnt figure it out
also the fact that the response basically said the same thing 4 times…
we got it after the first
While NVIDIA has not explicitly announced plans to support dmemcg, there are some indications that they are aware of the importance of VRAM management and are working on improving their drivers.