我正在使用 Ubuntu Server 上的 Apache、PHP、MySQL 管理网络服务。20 个网站正在运行。
几乎每天都会有一次,服务器因为根目录(/)分区满了而无法正常工作。我删除了 apache 错误日志,因为它变多了。然而,这并没有解决问题。
当我重新启动服务器时,它又可以正常工作了。我现在该怎么办?请帮帮我。
根(/)分区的容量为20GB,主分区的容量为437GB。
答案1
显然,您的根分区上没有足够的空间。以下是缓解此问题的一些方法:
- 检查你的 logrotate 设置,也许你保存了太多日志文件。
- 检查写入日志文件的各种服务的日志详细信息设置。有些服务记录了太多内容。
- 将日志文件(
/var/log
)移动到另一个具有更多空间的分区。 - 检查还有什么占用了空间。可能是 MySQL?你能移动它吗?
- 重新对磁盘进行分区,为根目录提供更多空间(可能相当困难)。
答案2
简短的回答:找出你的空间被占用的地方。
find / -type d | xargs du -s | sort -g
长答案:将您的 /var 目录放在单独的、隔离的分区上,以便当这种情况发生时您的系统不会崩溃,如果它(确实)是一个日志问题。
答案3
您的服务器上有图形界面吗?如果有,请使用此工具:http://gdmap.sourceforge.net/ 简直太疯狂了!:) 您可以轻松找到占用了这么多空间的东西。
答案4
同样徒劳无功@Buda Florin 的发布关于图形化地图还有视图。它是 Konqueror 的 KDE 插件,但在 GNOME 上独立运行也很好。看看这个博客文章了解更多信息。
以下是 fsview 运行的一些截图