我已经通过 flathub.org 将 Geary、Calendar、Notes/Bijiben(所有 GNOME 版本 40)和一些其他应用程序以 flatpaks 的形式安装了。执行时,flatpak list
它会按预期显示GNOME Application Platform
版本 38 和 40 的软件包。虽然只安装了需要 GNOME 38 环境(例如 Evolution 3.40)的 flatpak 应用程序,但我的计算机性能并没有发生显著变化。自从我安装了上述应用程序(GNOME 40)后,我的系统现在就像乌龟一样快。机器本身不是最新型号,但配备 12GB RAM 的 i7 四核处理器的性能不应该那么差。
重启后,机器处于空闲状态,内存使用量为 4.4GB,缓存为 1.9GB。我不知道这是怎么回事,因为我没有任何应用程序在后台运行。gnome-system-monitor
显示了很多进程,但最高的内存使用量约为gnome-shell
300-400MB。自从引入 snap 和 flatpaks 以来,htop
对我来说已经变得相当不可用,因为我再也无法弄清楚桌面 Ubuntu 上发生了什么。
一些后台进程现在会出现两次,例如与 Evolution 相关的所有内容,如evolution-calendar-factory
和,我猜是因为 flatpak 安装。这至少很有趣,因为常规 Ubuntu GNOME 环境附带 Thunderbird,而我之前没有安装过 Evolution。evolution-source-registry
evolution-addressbook-factory
不幸的是,我的问题不太具体,但有人能告诉我这个软件包混乱是怎么回事吗?我很抱歉,我太无知了,没有看到 snap、flatpaks 和花哨功能的所有好处。有人能解释一下GNOME 40
在 UbuntuGNOME 3.36
环境中运行应用程序时会发生什么,为什么一切都会变慢?GNOME 桌面在 4.4 Gig 时空闲是正常的吗,特别是因为只安装了垃圾指示器或用户主题等基本扩展?
重启后使用的资源:除了 Nextcloud 桌面客户端(自动启动应用程序)之外,没有其他应用程序正在运行。
答案1
只要应用程序未运行,Flatpaks 和 snap 包就不会减慢主操作系统的速度。运行时,它们会占用系统资源,但对于定期使用 APT 安装的应用程序来说也是如此。
资源使用的主要差异在于内存占用。这些应用程序原则上是容器化的,每个包都需要提供自己的依赖项,但在某种程度上由其他 snap 或 flatpak 提供。要运行 Gnome 40 flatpak 应用程序,它们所需的所有 GTK4 库也必须加载,与操作系统提供的库分开。对于 flatpak,这是通过“依赖”flatpak 包(Application Platform
您提到的包)完成的。这些可以在 flatpak 之间共享,从而减少 flatpak 环境中的冗余。
一旦运行,flatpak 或 snap 不应比常规 APT 软件包慢。此时,它们只是像任何其他应用程序一样运行代码,但是运行在 flatpak 或 snap 框架设置的受限环境中。只有在允许的情况下,它们才会访问已安装操作系统的资源。
不确定您的系统出了什么问题,但这不应该是因为您使用的是 Gnome 40 flatpaks。正如评论中所说,确实“Flatpak 和 Snap 是冗余的同义词,因此是浪费资源...”但对于 12 GB 的 RAM,这不应该是它会减慢系统速度的顺序。无论是否安装了 flatpaks,新启动的基于 Gnome Shell 的系统都不应使用超过 1 GB 的 RAM(如命令输出中的“已使用”列所示free -h --si
)。
答案2
我不知道你是如何得到这些结果的。我怀疑它们与使用 snap 和 flatpak 有关。
但我至少可以回答部分问题。Geary 使用 Evolution 后端,而我猜测日历也是如此。所以这没什么奇怪的。对于它们出现两次,我猜你有一个原生的 Ubuntu 版本和一个 snap 或 flatpak 版本。
答案3
好的,我明白了。GNOME 运行两个环境并不本身速度很慢,但在文件系统上这样做是不可取的zfs
。我已经在我的笔记本电脑上完成了设置zfs
,因为我是个白痴,在我们的服务器硬件上使用它有很好的经验,但在只有两个硬盘的笔记本电脑上这样做真的是一件非常糟糕的事情。
在与文件系统专家进行了广泛的交流后,我认为只需在文件系统上进行全新安装ext4
即可享受 flatpaks 的好处,它可以调用另一个 GNOME 环境。专家所说的内容的简要总结(我无法真正复制它,因为它非常复杂):zfs
有自己的写入缓存,占用大量 RAM,非常适合处理大文件,但在小型磁盘写入任务方面表现不佳,因此运行两个环境会导致极高的 RAM 负载和磁盘 I/O某某。我相信更高级的用户可以增加更多的见解,只是我zfs
在非服务器系统上太笨了。