Change runhcs create-scratch to use physical backed memory by default #2152
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The create-scratch command creates a UVM that is used to mount a vhdx file and format as ext4. This is necessary since windows does not have any existing tooling that can format a disk as ext4. This PR changes the create-scratch code such that the UVM uses physical backed memory instead of virtual backed memory by default. Additionally, the PR adds the option to specify that you want a virtual backed UVM instead.
The create-scratch command is called by containerd here to create scratch vhdxs for containers. This should only happen once per deployment of containerd on the hosting machine since the first time we attempt to pull an image with the lcow snapshotter, the code will create a template scratch file that is then copied for each lcow container created afterwards.
While using physical memory to back the UVM does result in a slower boot time, I believe this is acceptable since this should only be run once on the host per containerd deployment and the UVM is short lived.