You’ve probably just come across the “Failed to modify device ‘Memory’. The specified memory settings are not compatible for device assignment or GPU Partitions.” error when trying to change the startup RAM value for one of your virtual machines, likely attempting to lower the memory requirements for your VM. This error in most cases is caused by a Dynamic Memory settings mismatch and is extremely easy to fix. Here is how to do it.
Why Does This Error Occur?
Below you can see the error message that we’re talking about here:
'''
Error applying Memory changes
Failed to modify device 'Memory'.
The specified memory settings are not compatible for device assignment or GPU Partitions.
'Your-VM-Name' failed to modify device 'Memory'. (Virtual machine ID 75DB0DF1-2084-4A72-A779-01F3BC277E8D)
Cannot perform the operation for 'Your-VM-Name' as the specified memory settings are not compatible for device assignment or GPU Partitions. The startup memory size and minimum memory size must be equal when Dynamic Memory is enabled and devices or GPUs are also assigned. (Virtual machine ID 75DB0DF1-2084-4A72-A779-01F3BC277E8D)
'''
This error shows up primarily due to using memory configurations incompatible with the Dynamic Memory feature, or less commonly, memory settings incompatible with GPU partitioning configuration used. The underlying causes include:
- Dynamic Memory Setting Conflicts: If the VM is set to use the Dynamic Memory assignment feature, the startup and minimum memory values need to match. When these values differ, Hyper-V cannot manage the memory allocation properly.
- GPU Partition or Device Assignment Misconfiguration: In certain configurations, VMs with active GPU links or other device assignments might also throw this error when attempting to change their assigned RAM value. In this case, the aforementioned settings also need to be set to equal values.
- When it comes to graphics card bridging, I’ve got a neat guide on quickly setting up a host GPU link on your virtual machines with the configuration settings which allow you to freely modify the assigned RAM values for the VM. Check it out if you want to know more!
How to Fix the Error
Fix #1 – Disable the Dynamic Memory Feature
The first fix simply involves not using the Dynamic Memory assignment feature. Here is how to do that.
- In the main Hyper-V Manager window, right-click on your VM and choose Settings.
- Under Memory, uncheck the Enable Dynamic Memory box.
- Set the RAM to your desired value. This will be the fixed amount of RAM allocated to your virtual machine on startup.
- Click the Apply button and exit the settings menu.
If you don’t want to disable the Dynamic Memory management option (there really aren’t many good reasons to do that), there is another quick fix for this error which doesn’t involve resigning from this neat RAM-saving feature.
Fix #2 – Set the Startup and Minimum Memory to Equal Values
The second, better way to fix this error is to set equal Startup and Minimum Memory values in that very same settings menu. If you want to leave the Dynamic Memory feature enabled, ensure that the Startup Memory (simply labeled “RAM” on top of the settings window) and the Minimum memory setting are set to the same value. This will prevent resource allocation issues and allow you to modify the amount of RAM assigned to your VM.
Here is the second fix step-by-step:
- Right-click the VM and select Settings.
- Go to the Memory tab.
- If the Enable Dynamic Memory box is checked, ensure that the Startup memory and Minimum memory fields are set to the exact same numerical value.
- Click the Apply button and exit the settings menu.
That’s Pretty Much It!
The “Error applying memory changes” / “Failed to modify device ‘Memory'” issue in Hyper-V in my experience in nearly 90% of cases occurs due to incompatible memory configuration settings. By properly setting up the Dynamic Memory feature ensuring matching the Startup RAM and Minimum memory values you can easily fix it on your setup.