例如,我正在运行Linux guest虚拟机,并且我想在启动后在自己的init脚本中执行以下操作:
savevm-somehow
run-lengthy-benchmark
我知道如何从主机上使用监视器,但是很难在正确的位置停下来进行savevm
:我可以GDB step debug until there然后连接到监视器,但这会烦人。
答案 0 :(得分:2)
理论上,您可以告诉QEMU将其监视器放在TCP端口上,然后还告诉QEMU的网络将该端口转发给来宾,然后从来宾连接到转发的端口。我会担心这种设置中出现死锁的可能性,
我过去使用的一种方法是使用Expect编写QEMU监视器提示脚本。这里有一个例子: https://translatedcode.wordpress.com/2015/07/06/tricks-for-debugging-qemu-savevm-snapshots/ 它使用了硬编码的延迟时间,但您还应该能够期望看到串行端口的输出来决定何时发送命令。