由于我的服务器空间已满,我从服务器上删除了大约 5GB 的文件。
我的问题是:
- 为什么可用空间仍然为 0(零)?
- 为什么使用率还是100%?
删除文件后我已重新启动服务器。
我还遗漏了什么吗?
答案1
如果文件仍在某处打开,则实际上并未被删除。用于
lsof
查找文件。sudo lsof | grep deleted
输出中的第二列提供
PID
保持文件打开的进程。这
df
显示为 root 保留的空间。您可以使用以下方法调整此空间tune2fs -m
。如果您使用 GUI 删除文件,它们可能会在垃圾箱中。
答案2
也许它是一个具有 5% 保留块的 ext4 或 xfs 文件系统?这意味着有超过 ~7,8GB 的可用空间,能够以普通用户权限进行写入。
如果使用超级用户 (root) 权限写入,写入文件应该可以成功(如果我猜得没错的话)。您可以尝试使用sudo dd if=/dev/zero of=/test bs=1M count=10
,这会将一个 10MB 的文件写入/
。
一旦我知道您在那里安装了什么类型的文件系统(例如,用来tune2fs
更改保留块),我将更新答案以使其更加具体。
答案3
您是否正在运行某种写入磁盘的软件?也许在您删除文件时磁盘已满。
看看你的空间都到哪里了:
du -mx / > /run/du-m sort -n /run/du-m
du -mx /
会将以兆字节为单位的大小的目录列表写入 /run/du-m(tmpfs 仍然有空间)。sort -n
然后会逐一向您显示占用所有空间的目录,以便您弄清楚发生了什么。
答案4
在花了这么多时间解决这个问题后,我找到了解决方案。这可能不是一个解决方案,但它确实有效!我已从以下路径删除了服务器日志文件
/var/www/vhosts/system/{domain-name}/logs
我之前从以下路径删除了文件,但没有受到影响。
/var/www/vhosts/{domain-name}/logs
之后我删除了大约 73GB 的日志文件。现在网站运行良好。
但我仍然想知道为什么会发生这种情况。可能是服务器的垃圾文件问题。我必须说,由于对服务器的了解较少,我花了很长时间才解决问题。