linux磁盘空间用满的处理方法说明

linux下空间满可能有两种情况
可以通过命令
df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)
df -ih  查看索引节点的占用(Inodes)
 
一、面对磁盘满了,通过下列命令找出没有用的大文件删除,接口
磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。
所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满
1.通过命令: find / -size +100M |xargs ls -lh
列出系统内大于100M的文件
2.通过命令: du -h --max-depth=1
查看当前目录内文件夹的大小
可以两种方式都测试下,有些时候,占用了大量空间的其实是系统日志或业务附件等小文件,
 
二、索引节点Inodes满了,解决办法
  1.进入/根目录然后执行
   find */ ! -type l | cut -d / -f 1 | uniq -c
  2.然后一层一层找出文件最多目录,定位出哪个目录占用inodes最多(通常inodes是因为小文件太多)
  3.[root@localhost clientmqueue]# rm -rf * 删除所有文件,发现提示-bash: /bin/rm: Argument list too long,文件太多了,服务器都懒得执行删除
  4.用命令 ls | xargs rm -f 过了一段时间终于删除了所有文件
  5.df -ih 可以看到Inodes终于回来了很多空间
  6.如果你删除文件最多的目录是 /var/spool/clientmqueue,那么说明你使用了计划任务,而且按秒执行
  备注:为什么var/spool/clientmqueue会产生大量的文件呢,查资料是因为cron执行时会将相关结果以mail方式发送到执行用户的帐号,可是当sendmail 沒有启动 那么所有信件就会暂存在这个目录中,此时就会出现这种情况。
  7.修改cronwtab文件 crontab -e (修改计划任务,最好刷新一下计划任务或者等几分钟,使其生效)
  01 * * * * root run-parts /etc/cron.hourly  > /dev/null 2>&1
  02 4 * * * root run-parts /etc/cron.daily  > /dev/null 2>&1
  8.修改计划任务这样就不会产生记录了,完美结局Inodes空间满的问题!

转载于:https://www.cnblogs.com/feimengv/p/5485560.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值