磁盘空间占用巨大的meta.db-wal文件缓存(tracker-miner-fs索引服务)彻底清除办法

磁盘命令参考本博客linux磁盘空间满了怎么办.

问题: 磁盘空间被盗

今天瞄了一下我的Ubuntu系统盘,

复制代码
nftdigger@nftdigger-Ubuntu:~$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev             16G     0   16G    0% /dev
tmpfs           3.2G  1.9M  3.2G    1% /run
/dev/nvme1n1p2  916G  841G   29G   97% /
tmpfs            16G     0   16G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs            16G     0   16G    0% /sys/fs/cgroup

好家伙,我的1T系统盘快满了。查了一下文件主要在哪里增加的

shell 复制代码
nftdigger@nftdigger-Ubuntu:~$ du -h -d1
...
488G	./.cache
...
820G	.

.cache 占了大部分空间

切入.cache目录,一看,好家伙,tracker目录下的meta.db-wal占用了488G。

原因

谷歌了下meta.db-wal,有人在说安装了gnome桌面之后磁盘和CPU占用巨大。我查看了正在跑的程序,果然有个tracker-miner-f的程序在不亦乐乎地瞎跑。

shell 复制代码
$top
 进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND                                                                                                                 
  971168 nftdigg+  39  19  444248  70340  68208 D  52.5   0.2   0:25.76 tracker-miner-f  

继续搜谷歌,说tracker-miner-fs 是 GNOME 桌面环境中的一个组件,它的主要功能是索引你的文件系统以便快速搜索。

我的确尝试安装了gnome桌面系统,不过基本没用。决定停止这个索引服务。

tracker-miner-fs 是 GNOME 桌面环境中的一个组件,它的主要功能是索引你的文件系统以便快速搜索。然而,在某些情况下,它可能会占用大量的 CPU 或者内存资源。如果你不需要文件搜索功能,或者你愿意为了减少系统负载而牺牲这个功能,你可以选择关闭它。

解决: 关闭 tracker-miner-fs服务

1. 停止正在运行的 tracker-miner-fs 进程:

bash 复制代码
    tracker reset --hard

这将停止所有的 Tracker 进程,并删除所有已经收集的数据。

2. 禁用 tracker-miner-fs 服务,避免下一次开机时自动运行。

需要编辑 ~/.config/autostart/tracker-store.desktop 文件。如果文件不存在,需要先创建这个文件。并添加以下内容:

bash 复制代码
    [Desktop Entry]
    Type=Application
    Name=Tracker metadata database store
    Exec=tracker store
    NoDisplay=true
    X-GNOME-Autostart-Delay=30
    X-GNOME-UsesNotifications=false
    X-Ubuntu-Gettext-Domain=tracker

然后,在文件的最后,添加一行 X-GNOME-Autostart-enabled=false,这将禁用 tracker-miner-fs 服务。

bash 复制代码
    X-GNOME-Autostart-enabled=false

最后,保存并关闭文件。

这样,tracker-miner-fs 应该不会在系统启动时运行。如果之后需要启用它,只需要在 ~/.config/autostart/tracker-store.desktop 文件中将 X-GNOME-Autostart-enabled 设置为 true,然后重启系统即可。

附上最后的检查结果,直接腾出488G空间,完美:

相关推荐
JanelSirry5 小时前
缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)
缓存
我命由我1234513 小时前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
北城以北888813 小时前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
JH307316 小时前
Redis 中被忽视的“键过期策略”与内存回收机制
数据库·redis·缓存
Microsoft Word16 小时前
Redis常见面试题
数据库·redis·缓存
dudke16 小时前
c#实现redis的调用与基础类
数据库·redis·缓存
小马爱打代码19 小时前
MyBatis:进阶 - 动态 SQL、关联查询与缓存
sql·缓存·mybatis
tuokuac1 天前
ps -ef | grep redis
数据库·redis·缓存
⑩-1 天前
如何保证Redis和Mysql数据缓存一致性?
java·数据库·redis·mysql·spring·缓存·java-ee
刘一说1 天前
深入理解 Spring Boot 中的 Redis 缓存集成:从基础配置到高可用实践
spring boot·redis·缓存