为什么 Android 模拟器的嵌套虚拟化速度非常非常慢?

问题描述 投票:0回答:3

嵌套 KVM 虚拟化应该有很小的开销,但 VM 内的 Android 模拟器应该可用。

当我在 ubuntu 20.04 来宾(在 ubuntu 20.04 主机上)内启动 Android 模拟器时,它警告我,我处于嵌套虚拟化状态,因此速度会很慢。但它的速度低得令人痛苦,而不仅仅是缓慢。启动进入 Android 需要 10 分钟,是的,所有系统都是 x86_64,甚至是 android 映像。

我认为这与 OpenGL 有关,所以我在我的 virt-manager 上启用了 OpenGL 虚拟化,但速度仍然很慢。

我在我的 Ryzen 7 2700x(有 16 个核心)上尝试了同样的操作,我将所有核心都给了虚拟机,并将 AMD GPU 传递给了它,Android 模拟器也慢得令人痛苦。

为什么?

android virtual-machine virtualization kvm
3个回答
2
投票

问题出在 QXL 上。不知何故,在新的 Ubuntu 上速度很慢。使用 VirtIO 视频和可能的 3D 加速


1
投票

您可以尝试使用 anbox 而不是 VM。 性能开销要低得多,因为 anbox 不像虚拟机,而更像 wine。用他们自己的话来解释一下:

模拟器(如虚拟机)创建一个完整的模拟系统,它有自己的内核等,而 Anbox 在与主机操作系统相同的内核下运行 Android 系统。不需要像 QEMU 这样的模拟层。一切都直接在硬件上运行。这种方法还可以更好地与主机操作系统集成。

anbox.io

我必须警告你,它有点笨重,软件支持也不是最好的。 必须从 github 问题报告手动安装内核模块,因为它们没有修复焦点 ppa 存储库。 还有一些软件几乎无法运行或根本无法运行所以jeeaah...


1
投票

对于 KVM,可能首先必须启用嵌套虚拟化;最好带有

x86
图像:
https://docs.fedoraproject.org/en-US/quick-docs/using-nested-virtualization-in-kvm/
即便如此,运行 QEMU 并通过 IP 连接可能更有效。

© www.soinside.com 2019 - 2024. All rights reserved.