为什么 du -xshc 仅报告 35GB 使用量,而我的 100GB 磁盘却显示已满?

为什么 du -xshc 仅报告 35GB 使用量,而我的 100GB 磁盘却显示已满?

我的服务器上的 SSD 磁盘已满,但du没有显示。

df -h|head
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda2       98G   93G     0 100% /

虽然:

du -xhcs --apparent-size /                                                                                              
35G     /                                                                                                                                                                                                                             
35G     total

我还查了一下,ncdu -x /也只有 35GB

我怎样才能进一步调试这个?

答案1

看起来这是一个已删除的大文件,但不知何故仍处于打开状态:

#lsof|grep deleted|grep nginx/error.log
COMMAND       PID     TID TASKCMD               USER   FD      TYPE             DEVICE    SIZE/OFF       NODE NAME
2x
nginx     1896696                               root    5w      REG              202,2 62868951040    1344848 /var/log/nginx/error.log~ (deleted)
16x
nginx     1896697                           www-data    2w      REG              202,2 62868951040    1344848 /var/log/nginx/error.log~ (deleted)

要释放此已删除的文件,请重新启动在这种情况下可以打开该文件的进程

service restart nginx

tail -f或者查看在任何终端会话(例如 tmux)中是否有一个进程仍在该文件上打开

还要检查循环设备

losetup -a

相关内容