对 Linux 应用程序的支持使 Chrome 操作系统对我来说非常有趣。但我想更多地了解他们的实际表现。
显然,应用程序是在键盘虚拟机。谷歌文档有点令人困惑,因为它们没有清楚地区分容器化和虚拟化。这篇文章叫做在 Chrome 操作系统下运行自定义容器但它非常清楚地表明各种 Linux 功能都在虚拟机中沙箱化。
这网站讨论了虚拟化的性能损失,但没有给出任何具体数字:
第二个限制是 Google 通过将 Linux 应用程序放置在基于 Debian 的虚拟机中来运行它们。对于那些不熟悉的人来说,这意味着性能不会像本地应用程序安装那样好。这可能就是谷歌开始支持强大的 Pixelbook 的原因。
你能告诉我这里引入了多少开销吗?例如,Chrome 操作系统上的 Linux 应用程序与 ubuntu 上的相同应用程序的性能如何。
更新:
我很感谢迄今为止给出的反馈,并想让我的问题更加准确。据我了解,我的问题存在三个问题:
- 硬件设置很重要。像 Pixelbook 这样的东西可能会得到特殊的微调。
- 我使用的软件很重要。
- 比较的基线没有明确定义。
为了解决这些问题:
- 我无法向您提供有关硬件的准确信息。为了便于论证,我们假设采用 Intel ULV 芯片(例如 i5-7Y54)以及 4GB RAM 和 64GB eMMC。对于 chromebook,我认为这会非常强大,但仍然比大多数 Windows 笔记本电脑慢得多。 (这甚至可能是 Pixelbook 的硬件。如果是这样,则不是有意的)
我对软件开发感兴趣。我需要的最基本的工具是 VS Code 和 Latex,我认为这不会成为问题。如果能运行 Android Studio 和 PyCharm 就太好了。我有时会进行一些图像编辑,比如说 GIMP。游戏对我来说并不是真正的话题,但如果我们有 Linux,让我们尝试玩《半条命 2》:)。
作为基准,假设我们通过 apt 安装软件,并比较 Chrome OS + KVM 与 Ubuntu 或 Debian。如果我们有像 Gentoo 这样的东西,其中所有内容都是从源代码编译的,我知道将不可能预测编译器优化的效果。
我还进行了更多搜索,发现了这篇好文章:https://forum.level1techs.com/t/how-fast-is-kvm-host-vs-virtual-machine-performance/110192
实际上,我认为这几乎是我问题的答案:如果资源足够,KVM 和主机操作系统之间的性能差异可以忽略不计。只是本文主要关注高端 PC。您能否给我一些直觉,如果主机变得慢得多,它会如何扩展?
答案1
抱歉,我认为 Android Authority 的作者的笼统声明并没有以建设性的方式提高人们的认识。让我们考虑以下几点:
- Pixelbook 很可能是 Google 使用的设备,特别是从事 Chromium 相关项目的工程师。它可能是 Chrome 操作系统测试覆盖率最高的硬件。我没有经历过他们的随取随走我自己编程,但我认为有相当多的用户拥有 Pixelbook 和 Pixel 手机。
- 当内存已经很低(例如 2GB RAM 机器)时,运行 VM 没有多大意义,一些高级用户甚至可能难以使用 4GB。
- 什么是本机应用程序?特别是在 Chromebook 上? Crouton 在 chroot 中运行,如果你寻找问题,你可以找到一些,即使当其他人说没关系。 ChromeOS 上的 Android 应用也不是原生的。像 Ubuntu 这样的发行版依赖于 Apparmor 限制,它也与 snap 一起发挥作用,而 flatpak 也有沙箱机制。此外,我们还没有讨论像这样的编译器优化根图或清除Linux。一个关于本国的性能可能是相当理论化的。
- 您可以在 Chromebook 上运行带有 VirutalBox 的 Windows VM。除了只有 4GB RAM 之外,我遇到的唯一缓慢的情况是 eMMC 可能很慢。
- 说到微软,虚拟机不一定要慢,Xbox One 甚至运行游戏在虚拟机中。
这取决于工作负载的类型。 (一如既往。)在大多数情况下,该解决方案的设计目的应该可以忽略不计。
几年前,我在虚拟机中运行视频编码,因为当时我不想弄乱完整的 Arch Linux 桌面,而且我只需要一个 CLI 来完成该任务。我需要的大多数(如果不是全部)CPU 功能都可用,性能开销可以忽略不计(并且所需软件组件的新版本速度更快或质量更好)。
当然,您可能见过性能不佳的虚拟机或性能不佳的虚拟机主机,但如果没有特定的场景,您的问题就变得相当理论化。