A virtual machine migration method, performed by a first device, wherein the method comprises: Receiving a migration instruction sent by a second device, and creating a target virtual machine of a to-be-migrated virtual machine that is in the first device according to the migration instruction; receiving a memory bitmap that is of the to-be-migrated virtual machine and that is sent by the second device, wherein the memory bitmap is used to indicate whether data of each memory unit in a memory of the to-be-migrated virtual machine is stored in a non-volatile memory or a volatile memory, and both the to-be-migrated virtual machine and the target virtual machine comprise a non-volatile memory and a volatile memory; receiving data that is in the memory of the to-be-migrated virtual machine and that is sent by the second device; and storing the data in the memory of the to-be-migrated virtual machine into the volatile memory and the non-volatile memory that are of the target virtual machine based on the memory bitmap, wherein the storing the data in the memory of the to-be-migrated virtual machine into the volatile memory and the non-volatile memory that are of the target virtual machine based on the memory bitmap comprises: sequentially migrating the data in the memory of the to-be-migrated virtual machine into the volatile memory of the target virtual machine; determining whether data in the volatile memory is greater than or equal to a preset threshold; and when the data in the volatile memory is greater than or equal to the preset threshold, migrating, to the non-volatile memory of the target virtual machine based on the memory bitmap, data that is currently stored in the volatile memory of the target virtual machine but should be stored in the non-volatile memory according to an indication of the memory bitmap. Receiving a migration instruction sent by a second device, and creating a target virtual machine of a to-be-migrated virtual machine that is in the first device according to the migration instruction; receiving a memory bitmap that is of the to-be-migrated virtual machine and that is sent by the second device, wherein the memory bitmap is used to indicate whether data of each memory unit in a memory of the to-be-migrated virtual machine is stored in a non-volatile memory or a volatile memory, and both the to-be-migrated virtual machine and the target virtual machine comprise a non-volatile memory and a volatile memory; receiving data that is in the memory of the to-be-migrated virtual machine and that is sent by the second device; and storing the data in the memory of the to-be-migrated virtual machine into the volatile memory and the non-volatile memory that are of the target virtual machine based on the memory bitmap, wherein the storing the data in the memory of the to-be-migrated virtual machine into the volatile memory and the non-volatile memory that are of the target virtual machine based on the memory bitmap comprises: sequentially migrating the data in the memory of the to-be-migrated virtual machine into the volatile memory of the target virtual machine; determining whether data in the volatile memory is greater than or equal to a preset threshold; and when the data in the volatile memory is greater than or equal to the preset threshold, migrating, to the non-volatile memory of the target virtual machine based on the memory bitmap, data that is currently stored in the volatile memory of the target virtual machine but should be stored in the non-volatile memory according to an indication of the memory bitmap. sequentially migrating the data in the memory of the to-be-migrated virtual machine into the volatile memory of the target virtual machine; determining whether data in the volatile memory is greater than or equal to a preset threshold; and when the data in the volatile memory is greater than or equal to the preset threshold, migrating, to the non-volatile memory of the target virtual machine based on the memory bitmap, data that is currently stored in the volatile memory of the target virtual machine but should be stored in the non-volatile memory according to an indication of the memory bitmap.