磁盘空间可能是服务器崩溃的原因吗?

查看MySQL错误文件后,我发现有关磁盘空间的错误。 现在我想它是MySQL崩溃的原因:

[root@xxxx ~]# cat /var/lib/mysql/xxxx.com.err 120528 17:45:05 [Note] Crash recovery finished. /usr/sbin/mysqld: Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space) 

这可能是坠毁背后的原因吗?

是的,磁盘空间可能会导致系统崩溃。 这是一个应该避免的危险情况。 进程可能会耗尽空间,日志文件可能会被填满等。某些应用程序和守护进程(如MySQL)将在磁盘空间不足时停止或崩溃。

在你的情况,似乎你的系统没有任何分区。 您应该提供df -h的输出以开始…

从那里,你可能想看看哪些目录消耗最多的空间:

du -skh /*应该提供哪个顶级目录是最大的。 我更喜欢ncdu实用程序 ,但不能指望在大多数系统上安装它。

du -skh /* ,你会得到这样的输出:

 [root@xx /]# du -skh /* 8.4M /bin 37M /boot 124K /dev 110M /etc 192K /home . . . 5.8G /usr 3.7G /var 41G /yum 

如果你想钻入/var ,例如, cd /var并运行du -skh *并寻找最大的空间消费者…但是当然,发现这个过程已经在这个网站上被无数次覆盖。 检查这些相关的问题的更多build议:

如何find哪些文件占用了Linuxnetworking服务器上80%的空间?

如何找出什么是我的/分区上的所有空间?

用于无头Linux的磁盘使用treemap软件

这当然是一个开始的地方。 尝试find什么填补你的/分区,并删除一些文件,看看会发生什么

 find / -xdev -maxdepth 1 -exec du -sh {} \; 

将帮助您找出哪个目录树正在填充磁盘。

是的,根据你的MySQL错误日志,这是崩溃的原因。 您可能需要清空日志文件以释放一些空间或将MySQL数据目录移动到其他目录。

错误代码28代表“设备上没有剩余空间”