用qemu启动虚拟机时,用-m 128M参数指定以后是不是就是指虚拟机操作系统可以使用或者初始化的物理地址空间范围就是0-128M?还是不连续的总大小是128m? 操作系统启动时会对物理内存做管理,这里是需要指定它能够管理的物理内存的地址范围的吧, qemu启动时指定的内存是如何告知虚拟机系统的呢? (类似E820map?)
使用-m 128M
参数在QEMU中指定内存大小时,它表示虚拟机可用的总内存大小为128MB。这个值指定了虚拟机可以使用的物理内存总量,但并不限定使用的物理地址空间范围。虚拟机的物理地址空间范围由底层的虚拟化平台和操作系统的内存管理决定。
在现代的虚拟化平台中,虚拟机的物理地址空间通常是连续的,并且会根据需要进行动态分配和管理。所以,如果你指定了-m 128M
,虚拟机将会有128MB的总内存可用,但并不能确定具体的物理地址空间范围。
需要注意的是,QEMU启动虚拟机时指定的内存大小只是虚拟机的可用内存上限,实际的物理内存分配是由虚拟化平台进行管理的。
代表虚拟机分配的128MB的内存空间给qemu的虚拟机使用,具体内存是不是连续的这是不确定的,要根据当前系统的物理内存决定的。