我有一台运行着 Apache、PHP 和 Mysql 的 Ubuntu 15.04 服务器,有一天我使用 df -H 发现我的磁盘使用率达到 100%。当我使用 sudo shutdown -r 重新启动服务器时,现在显示使用率为 32%,我认为我们有一些临时文件没有被删除,或者有什么东西占用了大量空间。
您建议我检查什么?
答案1
系统重新启动时可用磁盘空间增加有几个常见的原因。
- 任何正在运行的进程当前打开的文件将保留在磁盘上,即使删除了对文件的最后一个引用。文件将保留,直到最后一个打开它的进程将其关闭或终止。重新启动时,所有此类文件最终将被删除。
- 让启动脚本在启动初期清除内容是一种明智的做法
/tmp
。这也可以释放空间。
由于以上两种情况都涉及删除文件,因此很难(有时甚至不可能)找出之前占用磁盘空间的具体内容。
由于我们讨论的是已删除的文件,因此查找该文件的方法需要使用可以直接从块设备读取的程序,这样就可以绕过文件系统。此外,即使仍然可以识别已删除文件的 inode 和所有块,也无法告诉您该文件的名称,这使得找出这些文件是什么变得更加困难。
重新启动后以这种方式释放超过 50% 的总磁盘空间的情况相当罕见。但如果您有一个大文件或一个大文件,则可能会发生这种情况/tmp
。
如果清理/tmp
是原因,那么您不应该在中找到任何旧文件/tmp
。您可以运行find /tmp -mtime +0 -type f
以查找任何超过 24 小时的文件。此外,这意味着/tmp
不是一个单独的文件系统。如果您运行,df /tmp
您将看到是否/tmp
是单独的挂载点或根文件系统的一部分。