Если вы решили сохранить снимок, индикатор выполнения показывает, что он все еще сохраняется, но вы можете продолжать использовать виртуальную машину. То же самое относится и к возобновлению. Что она на самом деле делает в это время? Если бы она все еще восстанавливала память, вы бы ожидали ошибок, если бы попытались получить доступ к памяти, которая еще не была восстановлена.
решение1
Когда вы создаете снимок во время работы виртуальной машины, он
Создает файлы дельта-диска (vm-000001.vmdk)и немедленно установите диски хранения ВМ для них в .vmx
файле конфигурации. Эта часть мгновенна, поскольку эти файлы изначально пустые (нет разницы между моментальным снимком и текущим состоянием).
Копирует оперативную память виртуальной машины на диск
- Если
mainMem.useNamedFile
не определено или находитсяTRUE
в.vmx
файле, то эта часть довольно мгновенна — ОЗУ перед снимком обновлялось в режиме реального времени на жестком диске вашего хоста в файле.vmem
— поэтому нужно просто переименовать старый и медленно скопировать ОЗУ после снимка в другой.vmem
файл. ОЗУ виртуальной машины после снимка все еще находится в ОЗУ вашего хост-компьютера, поэтому вы можете продолжать работать с виртуальной машиной. - Если вы отключили
mainMem.useNamedFile
, то оперативная память виртуальной машины копируется на жесткий диск.Я не уверен насчет этой части:Любые изменения в оперативной памяти виртуальной машины во время копирования сохраняются методом копирования при записи в другой части оперативной памяти вашего хоста.
При восстановлении виртуальной машины из моментального снимка любой доступ к частям памяти, которые не были записаны в оперативную память хост-компьютера, считывается с жесткого диска хост-компьютера.