首页 > 代码库 > 磁盘空间不足时检查方法及产生原因

磁盘空间不足时检查方法及产生原因

 
 先说一下用于磁盘空间快满时检查
很多小伙伴会想到find  ,这个想法是好的,不过find 有点慢,也不方便,例如:
find /home1 -type f -size +1000000k

如果我们这样做呢:
du+awk组合 显示所有目录及文件大于100M的
du -h / |awk ‘$1 ~/M/‘|awk -F ‘M‘ ‘$1>100‘

一般空间的问题是由日志文件产生的。另有两种特殊情况:
一.Linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件。

原因分析:系统中有用户开启了 cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;

解决办法:
1、 将crontab里面的命令后面加上  " > /dev/null 2>&1"
删除方法:
1.
# cd /var/spool/clientmqueue
# ls | xargs rm -f
2.
find /var/spool/clientmqueue/ -ctime +90 -type f -exec rm -fv {} \;

二.Linux下删除文件后没有释放空间
10.62
autoindex有这样的问题

***原因:
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
***解决办法:
1
/usr/sbin/lsof|grep deleted
2
kill 结束进程 的方式来释放

磁盘空间不足时检查方法及产生原因