有台服务器经常报磁盘空间不足,用命令 df -h 发现磁盘利用率90%多,将时间较长的日志和备份文件删除,发现磁盘空间也没有太大改善。再使用命令 du -sh 查看日志和备份目录,发现实际使用的空间与df 显示相差很多。
google搜索了一下,发现两个可能的原因:
1. 磁盘文件删除后,但是原先对应写文件的进程还在,仍然抓着那个文件,空间继续被他耗用,同时删除后的空间得不到释放,du 命令也看不到这个文件占用的空间。
2. 使用mount命令,挂载到一个原本有数据的目录,之前目录下的文件不可见也不会被du看到统计
因为这台服务器没有做特殊目录挂载,所以按照问题1查找丢失的空间。使用 lsof | grep deleted 查找被删除的文件,果然发现很多已经删除的日志文件
解决方法:停止产生日志的相应程序或者kill掉写入日志的进程,再重新启动程序。结果再使用df -h发现磁盘空间显示正常。
google搜索了一下,发现两个可能的原因:
1. 磁盘文件删除后,但是原先对应写文件的进程还在,仍然抓着那个文件,空间继续被他耗用,同时删除后的空间得不到释放,du 命令也看不到这个文件占用的空间。
2. 使用mount命令,挂载到一个原本有数据的目录,之前目录下的文件不可见也不会被du看到统计
因为这台服务器没有做特殊目录挂载,所以按照问题1查找丢失的空间。使用 lsof | grep deleted 查找被删除的文件,果然发现很多已经删除的日志文件
解决方法:停止产生日志的相应程序或者kill掉写入日志的进程,再重新启动程序。结果再使用df -h发现磁盘空间显示正常。
编辑回复