# Live Migration

热迁移是一个很有技术含量的话题，也是在实际使用中会常常运动的特性。最近做了一些学习，记录在此。

在研究代码之前，我们先来看看要做一次热迁移是如何操作的。

[从用法说起](/understanding_qemu/00-lm/01-migrate_command_line.md)

接下来我们开始从代码层面研究：

[整体架构](/understanding_qemu/00-lm/02-infrastructure.md)

在上文整体架构篇中限于篇幅，我们跳过了一个非常重要的结构。所以干脆把VMStateDescription单独拿出来讲：

[VMStateDescription](/understanding_qemu/00-lm/03-vmsd.md)

了解了总体结构后，就该研究具体的设备是如何迁移的了。在众多设备中，内存是关键的内容之一，所以第一个要研究的就是内存了。

[内存热迁移](/understanding_qemu/00-lm/04-ram_migration.md)

内存迁移中运用了很多有意思的技术，大部分在[内存热迁移](/understanding_qemu/00-lm/04-ram_migration.md)中描述了。但其中有一个非常重要而且有意思的技术叫postcopy。正是因为其特殊性，且不仅适用于内存，故单列一节。

[postcopy](/understanding_qemu/00-lm/05-postcopy.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://richardweiyang-2.gitbook.io/understanding_qemu/00-lm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
