在 Android 16 的 Linux 终端中内存不足?试试这个解决方法

Android 15 第二季度更新中最令人兴奋的新功能之一就是 Linux 终端应用程序。该应用允许用户在 Android 系统上运行完整的 Linux 应用程序,它通过在虚拟机中启动 Debian 发行版实例来实现这一点。这个虚拟机会与宿主 Android 设备共享资源和硬件,例如处理能力和存储空间。默认情况下,Linux 终端应用的内存限制为 4GB,这对于某些要求较高的开发工作负载可能不够用。幸运的是,这一限制有一个简单的解决方法。

在 Android 16 的 Linux 终端中内存不足?试试这个解决方法

尽管 Linux 终端应用可以在所有搭载最新 Android 15 正式版或 Android 16 测试版的 Pixel 手机上运行,但它的内存分配是固定的,与设备的总内存无关——无论是 8GB、12GB 还是 16GB。相比之下,Chromebook 上的 Linux 虚拟机几乎可以使用所有可用内存,只保留 1GB 以确保 Chrome OS 的正常运行。因此,Chromebook 能够应对更高强度的内存密集型开发任务。

由于 Google 开发 Linux 终端应用的主要动机之一是将更多开发工具引入 Android,因此其 4GB 的内存上限令人失望。尽管终端应用支持“内存气球”功能,可动态调整 Linux 虚拟机的内存分配,但这一功能只能在虚拟机运行所需的最小内存和前述 4GB 限制之间浮动。幸运的是,虽然并非万无一失,但这个限制的解决方法相对简单,并且熟悉 Linux 的用户很可能对此并不陌生。

在 Android 16 的 Linux 终端中内存不足?试试这个解决方法

正如开发者李钊在他的博客中指出的那样,这个过程包括将 zram 的大小从默认的 1GB 增加到 8GB,在磁盘上创建一个 8GB 的交换文件(swap file),并将 swappiness 设置为一个合适的值(例如 100)。

要增加 zram 的大小,需要编辑 /etc/systemd 目录下的 zram-generator.conf 文件:

$ cat /etc/systemd/zram-generator.conf
[zram0]
zram-size = 8192
compression-algorithm = zstd

要更改 swappiness 的值,需要编辑 /etc 目录下的 sysctl.conf 文件:

$ cat /etc/sysctl.conf
....
vm.swappiness=100

要创建一个新的 8GB 交换文件,请运行以下命令:

$ sudo fallocate -l 8G /swap
$ sudo chmod 600 /swap
$ sudo mkswap /swap
$ sudo swapon /swap
$ sudo swapon -s #update /etc/fstab for defaults mount on boot
$ cat /etc/fstab
...
/swap swap swap defaults 0 0

对于不熟悉的用户来说,zram 允许你将一部分内存用作压缩的交换空间,从而有效增加可用内存。另一方面,swappiness 值决定了 Linux 内核在进行内存页面交换时的积极程度。虽然与磁盘存储相比,将页面交换到内存中速度更快,但这并不是一种能显著提升可用内存的万无一失的方法——毕竟压缩是有极限的。尽管如此,这个简单的解决方案在结合磁盘上的额外 8GB 交换空间后,应该能有效减少因内存不足导致的应用被终止或 Linux 终端崩溃的情况。

自最初发布以来,Google 已对 Linux 终端应用进行了多项改进,例如增加存储分配和引入标签页界面。希望未来公司还能进一步优化,加入如可调节内存分配、图形界面应用支持等功能。

你在 Pixel 手机上体验过新的 Linux 终端应用了吗?如果是,你目前都用它做了些什么?欢迎在下方评论区分享你的体验!

上一篇 2025年5月9日 15:33
下一篇 2025年5月9日 20:01

相关推荐

  • iPhone控制中心设置技巧:通过自定义开关简化你的连接操作

    iOS 18经过对控制中心的全面改造后,苹果继续进行优化。最新的iOS 18.1测试版引入了两个专用的连接快捷按钮,让用户能够更快地访问这些功能。以下是如何在iPhone上通过这些新按钮自定义控制中心的快速指南。 目前,iOS 18.1 Beta 6对开发者和公测用户(作为Beta 3)开放。虽然此次更新没有引入重大新功能,但通过新增的快捷按钮提升了控制中心…

    2024年10月19日
    2.1K
  • iOS 18.3 Beta解决虚假AI通知摘要的5种方法

    通知摘要是去年推出的苹果智能功能之一。顾名思义,该功能会扫描由同一应用发送的长时间或多个提醒,并显示一行简洁的句子,突出其要点。可以预期的是,这个工具并非总是可靠运行,像BBC这样的媒体已经抱怨它会生成虚假的新闻头条。为了应对这些问题,苹果在最新的iOS 18测试版中推出了五项针对AI通知摘要的改进。 苹果已向开发者和爱好者发布了iOS 18.3 beta …

    2025年1月17日
    428
  • 讨厌 One UI 7 分离式通知面板?这里教你如何切换回原来的样式

    三星最近终于将 One UI 7 更新推送到部分旧款智能手机和平板设备,为它们带来了全新的界面设计、一些新功能以及大量其他改进。然而,其中最具争议的变化之一,是通知栏与快捷设置面板从统一设计改为分离设计。 这个改变模仿了 iOS 的做法,现在你需要从屏幕左上角下滑才能查看通知,从右上角下滑才能进入快捷设置。虽然你依然可以左右滑动在两个页面之间切换,但这一改动…

    2025年5月8日
    1.8K
  • 在发布前可以在这里下载三星Galaxy S25壁纸

    三星已宣布将于2025年1月22日举行Galaxy Unpacked活动,我们预计Galaxy S25系列将成为此次活动的主角,同时像Project Moohan Android XR头戴设备等产品也会亮相。尽管发布会距离现在还有两周,如果你按捺不住兴奋之情,以下是Galaxy S25系列的官方壁纸,你可以在下一款顶级安卓旗舰发布前先行下载。 爆料者Max …

    2025年1月8日
    2.6K
  • 如何在安卓设备上使用歌曲搜索功能

    最近,谷歌对安卓的歌曲识别功能进行了多项升级,包括与“Circle to Search”的集成。虽然这提高了可用性,但用户仍需在Google应用或搜索小部件上进行几次点击。不过,在最新的Google应用中,该工具现在可以直接从快捷设置中访问,使操作更加便捷。以下是如何充分利用歌曲搜索功能的方法。 如何通过Google应用测试版获取歌曲搜索控制 在最新的Goo…

    2024年10月3日
    5.6K