如何找到我的 AWS Linux 实例上正在填满它的文件?

如何找到我的 AWS Linux 实例上正在填满它的文件?

我在 AWS 上有一个免费层 Linux 实例,运行 bitnami ubuntu 解析仪表板,它是 iOS 应用程序和网站的后端。当我登录到我的实例时,它显示我在运行 df 命令时使用了 9.76gb 的 100% 可用空间:

df -h bitnami@ip-172-31-22-220:~/apps/parse/htdocs/logs$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      9.7G  9.7G     0 100% /

我找到了其他关于搜索哪些文件填满文件服务器的帖子,但希望有人能够提供有关 AWS/Ubuntu/Bitnami 解析平台的具体设置的见解。这是我在这个论坛上的第一个问题,所以在投票之前,请告诉我是否有改进我的问题的方法。例如,当我注意到运行 du -ah 时,有一系列文件看起来像 AWS 特定的日志文件,例如/usr/src/linux-aws-headers-4.4.0-1109。AWS 是否会写出一些我需要清除或备份到 S3 的文件以防止我的服务器填满?

我的网站因此瘫痪了,我不确定我可以运行哪些命令来帮助我找到占用所有空间的内容。我对命令进行了一些研究du,但不太确定如何使用它来追踪空间积累的位置。我偶然发现了一个日志文件区域,我试图清理它,但它只填满了大约 1.6gb。有没有办法在 unix 上运行命令,列出哪些目录大于 1gb 或类似的东西?我怀疑还有另一个地方,比如我找到的文件夹,du -h /home/bitnami/apps/parse/htdocs/logs其中存在需要清理的日志或错误文件,我只是不知道 ubuntu bitnami 解析实例如何存储这些东西。我是 AWS 的新手,所以我很确定我需要升级我的帐户或类似的东西,这样在我发布我的应用程序供一般使用之前,我的文件空间就超过 9.76 gb,所以如果你碰巧对什么是 AWS 实例有任何建议,它是 iOS 的后端应该因为我也很感激关于该主题的任何见解。

答案1

以 root 身份登录机器并发出

cd /
du -k | sort -n | tail -222

dir / 是根目录,所有其他目录都从该目录开始...列表底部是最大的目录...其中一些大目录可能是系统拥有的,通常不必担心...希望你只是有一个已满的日志目录...尝试将各种清理过程纳入你的处理中,这些清理过程会持续删除文件或修剪文件,以便你的机器可以达到可持续的稳定状态

以下是上述命令的具体内容

du -k      #  print out size and name of each directory 
sort -n    #  do a numeric sort of input
tail -222  #  only keep bottom 222 lines of input

这些命令piped一起使用这里显示的工具,|它是美国键盘上右侧回车键上方的键...du 的输出通过管道传输到下一个命令 sort 的输入中...sort | tail 也是如此

另外,编写脚本总是好的,包括创建 + 安装 + 销毁服务器处理...这样,您只需销毁该 aws 实例并运行脚本即可启动一个新实例...这样做至少可以说使故障排除更容易

答案2

NCDU 是一个非常有用的文本/图形实用程序,可以帮助您找到磁盘空间的使用位置。

sudo apt-get install ncdu
sudo ncdu /

您还可以将磁盘增大。

相关内容