我的 Ubuntu Web 服务器(运行在 DigitalOcean 上)的磁盘空间似乎已满。我已经找到并删除了大型日志文件,并重新启动了 Nginx。但是,似乎仍然存在问题。
df
显示它仍然满了:
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 47G 22M 100% /
但du
显示它还未满:
$ du -shx /
3.2G /
我需要做什么才能解决这个问题?
答案1
首先检查是否还有任何进程引用已删除的文件:
$ sudo lsof / | grep deleted
就我而言,它表明tail
仍在使用它:
tail 18961 root 3r REG 253,1 46511271936 1189657 /var/www/myapp/shared/log/production.log (deleted)
通过进程名称运行ps x
和过滤,我得到了需要终止的进程 ID:
$ ps x | grep tail
3376 pts/1 S+ 0:00 grep --color=auto tail
18961 ? Ss 0:00 tail -f /var/www/myapp/current/log/production.log
在本例中,18961 是进程 ID。现在终止该进程:
kill 18961
现在df
又显示有可用空间:
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 3.3G 44G 7% /