Elastic Beanstalk 告诉我我的根文件系统已满 96%。当我通过 SSH 进入 EC2 实例并运行 时df
,我可以看到我的根文件系统已使用 7.95GB/8GB:
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1980524 0 1980524 0% /dev
tmpfs 1988500 0 1988500 0% /dev/shm
tmpfs 1988500 33180 1955320 2% /run
tmpfs 1988500 0 1988500 0% /sys/fs/cgroup
/dev/nvme0n1p1 8376300 7959264 417036 96% /
tmpfs 397700 0 397700 0% /run/user/1000
但是,如果运行命令du
,例如sudo du -h -x -d 1 /
,我只能看到总共使用了 2.4GB:
35M /etc
0 /local
26M /tmp
465M /var
1.3G /usr
32M /boot
608K /home
0 /media
0 /mnt
560M /opt
17M /root
0 /srv
2.4G /
对于正在运行的程序而言,这些目录看起来都不算太大。我以为问题出在日志文件不断增长,但 /var/log 只占用了 36MB。
我不明白我的根文件系统中的另外 5.5GB 用在了哪里,因为它没有显示出来du
。
答案1
事实证明,大量文件已被删除,但仍由正在运行的进程打开。
运行sudo lsof -nP | grep '(deleted)'
列出了数百个大型日志文件,这些文件已被其他人删除,但仍被我的 Node 应用程序打开。重新启动应用程序可清除它们并释放空间。