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
这是怎么造成的?怎么排查?
1
angryPHP 158 天前
du 命令
|
![]() |
3
yinheli 158 天前 ![]() lsof -nP | grep 'deleted'
|
![]() |
4
yinheli 158 天前
看看有没有删掉的,但是句柄还在的文件
|
![]() |
5
aaa5838769 158 天前
用 du 命令 从根目录开始往下找到是那个目录占用最大。
|
![]() |
6
chrawsl 158 天前
du / -h -d1
-d1 代表递归深度 |
![]() |
7
ooxxcc 158 天前 ![]() ncdu
|
![]() |
8
kisshere OP |
![]() |
9
idblife 158 天前
yum install ncdu
不用谢 |
10
zzfra 158 天前
我不负责地猜测一下,docker 导致的问题
|
![]() |
11
AoEiuV020CN 158 天前
发现 Avail 在变小就应该马上切 u 盘系统再考虑怎么排查,
|
![]() |
12
css3 158 天前
看下回收站是否清空
|
13
nbweb 158 天前 via Android
先把 md2 umount 了再看看容量。
|
14
troilus 158 天前
大概率是 docker ,前几天同样问题
|
16
ladypxy 158 天前 via iPhone
reboot first
|
![]() |
17
xyjincan 157 天前
删除没有关闭的文件,重启系统 or 进程就好了
建议使用 echo > xxx.log 删除日志文件 |
![]() |
18
defunct9 157 天前
lsof +L1
|
![]() |
19
villivateur 157 天前 ![]() @defunct9 这次居然没让开 ssh ?
|
![]() |
20
dd991 157 天前
temp 文件夹
|
![]() |
21
limbo0 157 天前
du -sh -- * | sort -rh
|
22
Jirajine 157 天前
下个 gdu 看看
|
23
gamexg 157 天前
linux 下正在打开的文件也可以删除,但是这个删除只是 ls 不显示,实际这个文件还是存在,并且占用空间。直到使用这个文件程序释放这个文件,文件才被真的删除,空间才会被释放。
所以最简单的办法,重启下再看空间占用。 |
![]() |
24
labnotok 157 天前 via Android
ncdu -x
|
![]() |
25
McreeWu 157 天前
一般是 deleted 文件导致的,如果找不到的话可以看看磁盘预留空间
|
![]() |
26
wjx0912 157 天前
github search: ncdu
|
27
V2April 157 天前
我遇到过一次这个,是 onlyoffice 的日志文件
|
![]() |
28
stephenyin 157 天前
找 /home/xxx 下大于 500M 的文件:find /home/xxx -size +500m -name -type f
|
![]() |
29
stephenyin 157 天前
@stephenyin #28 find /home/xxx -size +500m -type f
|
![]() |
30
stephenyin 157 天前
@stephenyin #29 🤣 find /home/xxx -size +500M -type f
|
31
DingJZ 157 天前
遇到过一次 Inodes 的问题,df -i 查看 Inodes 占用,如果是的话清 /tmp
|
32
julyclyde 157 天前
这么经典的故障
丢失的空间可能都是类似于你“删除了一个日志”这类操作导致的 |
![]() |
33
pingpp00 157 天前
在根目录下执行 du -shx * ,然后依次排查
|
34
likunyan 157 天前
sudo du -hsx * | sort -rh
|
![]() |
35
gam2046 157 天前
是某个应用占用了个大文件,但是你已经通过 rm 把这个文件删掉,同时程序并未释放此文件的句柄,所以会造成你这种情况。因为句柄被占用,文件在内核中并未真正释放。
如果记得是哪个程序占用的大文件,重启这个程序即可。 如果不记得是哪个程序,重启系统即可。 |
![]() |
36
JohnBull 157 天前
肯定是有个超大的匿名文件
|
![]() |
37
zooo 157 天前
ncdu 确实好用些
|
38
lelandsu 157 天前 via iPhone
ncdu -x /
还找不到问题再来讨论 |
39
xwayway 157 天前
楼上各位大哥说得都很在理,我就想蹲一个结果
|
![]() |
41
ninvfeng2020 156 天前
1. 执行 du -sh / 看看哪个文件夹最大
2. 然后进最大的文件夹执行 du -sh ./* 重复执行第二步就能找到最大的文件在哪 如果删除后空间没释放就重启一下对应的程序 |
42
julyclyde 156 天前
@ninvfeng2020 你这个和 OP 错的一样啊
|
![]() |
43
zhuanggu 156 天前
不是文件夹大啊,而是根目录下有隐藏文件。ls -a
|