磁盘命令参考本博客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系统盘快满了。查了一下文件主要在哪里增加的
nftdigger@nftdigger-Ubuntu:~$ du -h -d1
...
488G ./.cache
...
820G .
.cache 占了大部分空间
切入.cache目录,一看,好家伙,tracker目录下的meta.db-wal占用了488G。
原因
谷歌了下meta.db-wal,有人在说安装了gnome桌面之后磁盘和CPU占用巨大。我查看了正在跑的程序,果然有个tracker-miner-f的程序在不亦乐乎地瞎跑。
$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
进程:
tracker reset --hard
这将停止所有的 Tracker 进程,并删除所有已经收集的数据。
2. 禁用 tracker-miner-fs
服务,避免下一次开机时自动运行。
需要编辑 ~/.config/autostart/tracker-store.desktop
文件。如果文件不存在,需要先创建这个文件。并添加以下内容:
[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
服务。
X-GNOME-Autostart-enabled=false
最后,保存并关闭文件。
这样,tracker-miner-fs 应该不会在系统启动时运行。如果之后需要启用它,只需要在 ~/.config/autostart/tracker-store.desktop 文件中将 X-GNOME-Autostart-enabled 设置为 true,然后重启系统即可。
附上最后的检查结果,直接腾出488G空间,完美: