1. 首页 > 服务器系统 > Ubuntu

Ubuntu/Linux/Gnome 打开文件慢/卡死怎么办?如何解决?

不知道各位在使用ubuntu 桌面版时有没有遇到过这个问题,打开本地文件时速度很慢,影响心情。如果你用chrome,某个页面需要上传本地文件时,会发现这个速度更慢,有时候甚至会直接卡死。

解决Ubuntu/Linux/Gnome 打开文件慢,使用chrome打开文件更慢/卡死问题_图2

今天终于忍无可忍,要把这个问题分析下,并且解决掉。下面首先分析原因,不想看原因分析可以直接跳到后面解决方案部分。

原因分析

我本地设备如下,可以看出并非是硬件性能问题:

系统:Ubuntu 24.04

桌面环境:GNOME

硬件:Intel i7-14700K + DDR5 32GB + NVMe SSD

现象:

  • 打开本地文件夹明显卡顿
  • 双击文件反应慢
  • 浏览器(Chrome / Firefox)上传文件、选择本地文件时更慢

那为什么 Ubuntu / GNOME 打开文件还会如此之慢呢?实际上慢的不是磁盘,也不是 CPU,而是 GNOME 默认启用的一套“文件索引 + 缩略图”机制。核心问题集中在两个东西上:

一、Tracker3:GNOME 的文件索引服务

Ubuntu 24.04 默认启用了 Tracker 3,它的定位是:一个“桌面级全文搜索引擎”。Tracker 主要完成以下的功能:监听家目录下的文件变化,扫描文件系统,解析文件内容和元数据(PDF、图片、视频、Office 文档等),最后把结果写入数据库,供 GNOME 全局搜索、Nautilus 使用。问题就在于Tracker 并不只是“后台慢慢索引”,而是会在你打开文件夹、选择文件时同步参与。于是就出现了打开目录时突然卡几秒、文件一多就明显掉帧、CPU / IO 明明没满,却“假死”的问题。这是设计层面的同步阻塞问题,性能再强也救不了。

二、GNOME 文件管理器的缩略图机制

Nautilus(文件管理器)默认行为是:打开目录时生成图片 / 视频 / PDF 缩略图,读取 EXIF、视频信息。对大文件也照样处理。当目录中存在大图片、视频文件、PDF、素材目录、下载目录时就会出现“打开文件夹 = 同时解码一堆媒体文件”的现象。这在 GNOME 中很多操作还是同步完成的,自然就慢。

至于为什么浏览器“打开本地文件”慢到地老天荒,经常丧心病狂的长达二三十秒,原因并不在浏览器,而是 调用链更长:浏览器→ xdg-desktop-portal → GNOME 文件选择器 → Nautilus  → Tracker → 文件系统。这个过程中每一层都要做权限校验、进程通信、查询索引 / 元数据。导致文件选择窗口打开巨慢。这不是 Chrome 或者 Firefox 的锅,而是桌面架构本身的问题。

经过一系列搜索及尝试,终于找到了一个可行方案,虽然不能像windows那样流畅,但是至少不会有十几二十秒甚至直接卡死的情况了。以下是解决方案。

解决方案:

1. Tracker3

Tracker 带来的“全文搜索”对我几乎没用,但性能影响巨大,所以直接禁用。

# 停止 Tracker 服务
systemctl --user stop tracker-miner-fs-3.service
systemctl --user stop tracker-extract-3.service
# 防止开机自动启动
systemctl --user mask tracker-miner-fs-3.service
systemctl --user mask tracker-extract-3.service

1. Tracker3

验证是否生效:

systemctl --user status tracker-miner-fs-3

1. Tracker3_图2

如果看到类似dead或者stop等字样,说明禁用成功。禁用后有什么不良影响吗,有,但是通常不重要。禁用后GNOME 全局搜索无法搜索“文件内容”,只能按文件名,但是不影响文件读写、不影响开发、不影响终端工具。对开发者 / 高性能桌面用户来说,这是净收益。

2. 禁用部分缩略图,只对 ≤100MB 的文件生成缩略图

我并不想完全关掉缩略图,于是采用 GNOME 支持但默认没调好的方案:

# 只对本地文件生成缩略图
gsettings set org.gnome.nautilus.preferences show-image-thumbnails 'local-only'
# 限制缩略图生成文件大小(MB)
gsettings set org.gnome.nautilus.preferences thumbnail-limit 100

含义很关键:小图片 / 小视频:正常显示缩略图。但是对于大视频 / 大素材 / 大 PDF:不再阻塞文件夹打开。这是一个性能和体验的最佳平衡点。设置后重启文件管理器即可:

nautilus -q

现在即可测试下,如果速度满是慢,直接重启系统。体验下速度飞升的感觉吧。

Ubuntu系统用起来卡顿的问题解决办法

可能原因1 物理内存swappiness设置值太大

通过调整swappiness来解决

打开终端,输入以下代码

cat /proc/sys/vm/swappiness

得到结果应该是:60

这个表示的是使用的物理内存(0是最大限度使用物理内存),所以数值越低,速度理论来说是越快。接下来我们来永久改这个数值。

在终端输入

sudo gedit /etc/sysctl.conf

这时出现一个文档,在任意一个空行,加入下面这个代码

vm.swappiness=10

然后,点保存,关闭文档。可以两次执行,看看结果是不是10,如果是10则修改成功。

cat /proc/sys/vm/swappiness

可能原因2 磁盘占满

执行以下命令,用于查看已经挂载的硬盘使用情况

df -h

结果如图所示:

如果你的最大磁盘基本满了,你可以做以下操作试试,你也可以换其它方法。

卸载自动装且不再使用的软件包,可能会误删非apt-get管理的软件包,谨慎使用!!!

sudo apt-get autoremove

如果磁盘还是很满,接下来执行清理命令:

sudo apt-get autoclean         // 清理旧版本的软件缓存
sudo apt-get clean                //  清理所有软件缓存
sudo apt-get autoremove      //    删除系统不再使用的孤立软件
sudo rm -rf /home/用户名/.local/share/Trash/*

最后一条命令记得吧用户名换成你常用的用户名,如果其他的用户你也经常用,那么都执行一次

到此为止,我的问题就解决了。如下图:

可能原因3 退出光盘

不知道是不是这个原因,我退出了光盘,运行速度就快了很多,在左侧有光盘图标上右键选择unmount和Eject即可

以上就是Ubuntu/Linux/Gnome 打开文件慢/卡死怎么?如何解决的详细内容,更多相关资料请阅读主机测评网其它文章!

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/ubuntu/8819.html

联系我们

在线咨询:点击这里给我发消息

Q Q:2220678578