95% 的根文件系统正在使用,但看不到磁盘空间问题

95% 的根文件系统正在使用,但看不到磁盘空间问题

首先,我是 Linux 和 AWS 的业余爱好者,所以我感觉自己在这里是在黑暗中搜索。我的 Elastic Beanstalk 环境似乎出现了问题。几天后,我收到了

环境健康状况已从“严重”转为“警告”。1 个实例中有 1 个受到影响。

当我检查 beanstalk 实例时,它说

95% 的根文件系统正在使用中。剩余 402 MB。

即使我重新启动环境,此问题仍然存在。但是,当我将应用程序重新部署到 Beanstalk 时,它纠正了这个问题,但几天后它又回来了。我怀疑我的应用程序代码中存在内存泄漏,但我还没有诊断出来。

df -h显示以下内容:

Filesystem      Size  Used Avail Use% Mounted on
overlay          16G  3.5G   12G  24% /
tmpfs            64M     0   64M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/nvme1n1     16G  3.5G   12G  24% /home
/dev/loop0      974M  2.3M  904M   1% /home/cloudshell-user
/dev/nvme0n1p1   30G   13G   17G  44% /aws/mde/mde

我尝试在继续操作之前确认此根文件系统问题,但无法看到占用空间的原因。我尝试了以下附加命令:

  • sudo find / -type f -size +10M -exec ls -lh {} \
  • lsof -nP | grep '(deleted)'

没有出现任何明显的问题。有人有什么想法可以帮助新手吗?

提前致谢

答案1

除了了解一些删除文件的技巧之外,要管理文件系统,您还需要知道顶层是什么类型,底层是什么层。

运行mount命令以查看所有卷上的设备和选项。/ on overlay 表示其上层目录几乎肯定位于另一个文件系统上,并且您交互检查时的可用空间会反映这一点。监控可能有一个略微不同的实现,获取所有块设备而不是已安装的文件系统。

评估 upperdir、workdir 和 lowerdir 的大小,ncdu -x 注意您可以使用-o选项保存文件大小以供以后分析。

存储使用量会随着时间的推移而增加。日志文件、缓存和暂存的内容、应用程序无法按应有的速度处理的数据。其中大部分可能是具有自动清除过程的临时数据,但请验证这一点。除了将内容设置为只读且不允许任何文件写入之外,还需要有足够的空间来继续操作,直到问题得到解决。

答案2

我想我已经搞清楚了。我是从 beanstalk 环境访问 shell,但我应该查看 EC2 实例。一旦进入那里,我就能使用 du -h 命令确定确实是日志文件导致了问题。感谢所有回复并提供帮助的人

相关内容