Linux 根文件夹满了,但找不到根源问题在哪?

2022-12-27 11:56:28 +08:00
 kisshere
cd /
df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/md2         25G   24G     0 100% /

但是根文件夹下显示所有文件夹(比如 usr 、var 、tmp 等文件夹)大小之和为 10G ,根本没用到 24G

删了一个 2G 的日志文件,有趣的来了,根文件夹所有文件夹大小之和变为 8G ,Avail 立马变为 2G ,然后 1.8G ,1.6G ,1.5G......不断缩小,直至为 0 。但根文件夹所有大小之和还是 8G

这是怎么造成的?怎么排查?

4202 次点击
所在节点    程序员
43 条回复
limbo0
2022-12-27 13:30:07 +08:00
du -sh -- * | sort -rh
Jirajine
2022-12-27 13:35:22 +08:00
下个 gdu 看看
gamexg
2022-12-27 13:42:56 +08:00
linux 下正在打开的文件也可以删除,但是这个删除只是 ls 不显示,实际这个文件还是存在,并且占用空间。直到使用这个文件程序释放这个文件,文件才被真的删除,空间才会被释放。

所以最简单的办法,重启下再看空间占用。
labnotok
2022-12-27 13:45:12 +08:00
ncdu -x
McreeWu
2022-12-27 13:50:35 +08:00
一般是 deleted 文件导致的,如果找不到的话可以看看磁盘预留空间
wjx0912
2022-12-27 13:53:16 +08:00
github search: ncdu
V2April
2022-12-27 13:58:40 +08:00
我遇到过一次这个,是 onlyoffice 的日志文件
stephenyin
2022-12-27 14:05:07 +08:00
找 /home/xxx 下大于 500M 的文件:find /home/xxx -size +500m -name -type f
stephenyin
2022-12-27 14:05:41 +08:00
@stephenyin #28 find /home/xxx -size +500m -type f
stephenyin
2022-12-27 14:07:14 +08:00
@stephenyin #29 🤣 find /home/xxx -size +500M -type f
DingJZ
2022-12-27 14:29:49 +08:00
遇到过一次 Inodes 的问题,df -i 查看 Inodes 占用,如果是的话清 /tmp
julyclyde
2022-12-27 15:01:58 +08:00
这么经典的故障

丢失的空间可能都是类似于你“删除了一个日志”这类操作导致的
pingpp00
2022-12-27 15:24:04 +08:00
在根目录下执行 du -shx * ,然后依次排查
likunyan
2022-12-27 15:43:43 +08:00
sudo du -hsx * | sort -rh
gam2046
2022-12-27 15:46:51 +08:00
是某个应用占用了个大文件,但是你已经通过 rm 把这个文件删掉,同时程序并未释放此文件的句柄,所以会造成你这种情况。因为句柄被占用,文件在内核中并未真正释放。

如果记得是哪个程序占用的大文件,重启这个程序即可。
如果不记得是哪个程序,重启系统即可。
JohnBull
2022-12-27 15:58:11 +08:00
肯定是有个超大的匿名文件
zooo
2022-12-27 16:09:55 +08:00
ncdu 确实好用些
lelandsu
2022-12-27 20:50:48 +08:00
ncdu -x /
还找不到问题再来讨论
xwayway
2022-12-28 11:14:55 +08:00
楼上各位大哥说得都很在理,我就想蹲一个结果
gearfox
2022-12-28 14:22:48 +08:00
@lelandsu 这样应该直接就解决了,哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904908

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX