8.9. 改进客户机虚拟机响应时间
客户机虚拟机有时可能会慢慢,以响应某些工作负载和使用模式。可能导致缓慢或无响应的客户机虚拟机的示例:
- 严重过度分配的内存。
- 使用高处理器用量过量使用内存
- 其他(而非 qemu-kvm 进程)在主机物理机器上忙或者停止进程。
KVM 客户机虚拟机作为 Linux 进程运行。Linux 进程不会永久保存在主内存(物理 RAM)中,并且将被放入交换空间(虚拟内存)中,尤其是不使用它们。如果客户机虚拟机长时间不活跃,主机物理机器内核可将 guest 虚拟机移动到交换中。因为 swap 比物理内存慢,它可能会显示客户机不响应。当客户机加载到主内存后,这个更改。请注意,将客户机虚拟机从交换到主内存的过程可能需要几秒钟,每个分配给客户机虚拟机的 RAM 字节需要几秒钟,具体取决于用于交换的存储类型和组件的性能。
无论内存被过度分配还是总体内存用量,KVM 客户机虚拟机进程可能会被移动到交换中。
不建议使用不安全的过量使用级别,或在交换的情况下关闭客户机虚拟机进程或其他关键进程。在过量使用内存时,始终确保主机物理机器有足够的交换空间。
有关使用 KVM 过量使用的详情,请参考 第 6 章 使用 KVM 进行过量使用。
警告
虚拟内存允许 Linux 系统使用的内存超过系统中物理 RAM 的内存。在被使用的进程交换出来时,允许活动进程使用内存,从而提高了内存利用率。禁用交换可减少内存利用率,因为所有进程都存储在物理 RAM 中。
如果关闭交换,请不要过量使用客户机虚拟机。过量使用没有交换的客户机虚拟机可能会导致客户机虚拟机或主机物理机器系统崩溃。