QEMU监视器命令'info mem'和'info mtree'有什么作用?

10
我在尝试理解QEMU内存管理(使用i386客户机,没有KVM)。 QEMU监视器允许列出CPU寄存器信息(info registers)、USB设备(info usb)、网络(info network)等等。
但是info meminfo mtree命令呢?缺乏文档说明,很难弄清楚这些命令的作用。
例如,我从某个Linux ISO中启动了QEMU,并给它128MB的RAM。info mem给出输出:
帮助显示,您可以使用info mem来“显示活动虚拟内存映射”。前两列给出虚拟内存范围,第三列显示范围长度。但是这些映射是什么?如果这是虚拟内存,那么它属于哪个进程? info mtree命令的情况类似。
1个回答

11

信息 mtree

该命令显示进程的内存层次结构。在QEmu的提交日志中,以下条目创建了此功能的第一个版本。 info mtree 的作用是打印系统内存到不同设备的映射。这些设备的层次结构也被表示出来。

commit 314e298735903035ba2b7b0f3cf39981f4171546
Author: Blue Swirl <blauwirbel@gmail.com>
Date:   Sun Sep 11 20:22:05 2011 +0000

    memory: simple memory tree printer

    Add a monitor command 'info mtree' to show the memory hierarchy
    much like /proc/iomem in Linux.

    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

Qemu-devel列表中讨论了原始补丁的功能以及随时间推移对该功能进行的一些改进。

info mem

正如您所述,此命令显示活动虚拟内存映射。它不是针对特定进程的,而只是在运行命令时当前页表。 此页面提供了有关输出格式的更多信息。

要获取进程级别的信息,您需要在模拟的Linux操作系统中执行某些操作,因为Qemu仅知道MMU级别的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接