在我的 EC2 AMI 实例上,我遇到了一个问题,它有时会出现内存不足的情况。我不知道如何找到导致这种情况的原因……如果我这样做
$ sudo df -h
我可以看到这占用了我所有的内存(或者在这种情况下是 80%,因为我设法清理了一些日志文件):
/dev/xvda1 8.0G 6.4G 1.7G 80% /
我希望
sudo find / -type f -size +10M -exec ls -lh {} \;
查找其他大文件,但该命令返回的文件大小远非 6.4G。这是为什么?我该如何找到其余文件?谢谢!
答案1
在我看来,这些可能是您所述观察结果组合的原因:
- 你删除了仍然打开的文件,在这种情况下,这些文件在文件系统中不再可见,但空间只有在关闭后才能回收
- 你可能想看看
lsof -n | grep DEL
- 你可能想看看
- 有大量文件比您查找的文件小
- 您可能需要查看
/
(例如du -hs /*
)中的目录的总体大小并深入研究
- 您可能需要查看
边注:内存使用情况通常用于指 RAM 使用情况(如果你愿意的话,也可以称为“主内存”),但这显然不是这个问题的重点
答案2
使用du -hs /*
上述答案帮助我检测哪个文件夹正在填满我的磁盘。
PS:这是catalina.out
24G的Tomcat文件:)