如何排查 Inodes 使用太多的问题

当碰到服务器 Inodes 报警,排查流程如下

操作系统环境:Centos6.8

一、使用 df -i 查看那个分区用量最多
  • 这样就先定位到了问题分区
二、进入该分区,使用文件数量统计脚本
#文件数量统计脚本

#!/bin/bash

for i in `ls`;
do
  file_num=`find ./$i/ -type f -print | wc -l`
  echo "$i,$file_num"
done
  • 这个脚本会统计出当前目录下的每个目录有多少个文件,这样就可以找出文件最多的目录,然后层层排查,就可以定位到问题目录。
三、小量分批删除
ls | grep '^' | xargs -n 100 rm -f   #删除列出的文件,以100个为一组

# 使用这个指令是为了避免 "argument list too long "
  • 最后不要忘记了排查问题的原因
最后分享下笔者遇到问题
  • 我用上诉方法排查出 /var/spool/postfix/maildrop/ 有大量文件

原因是系统在执行 cron 任务时,会将 cron 执行脚本中的输出信息(output)和告警信息(warning)以邮件的形式发送给 cron 所有者,而我的服务器上关闭了 postfix ,导致邮件发送失败,小文件就堆积在了 maildrop 目录下。如果 sendmail 或 postfix 正常运行,则会在 /var/mail 目录下堆积大量的邮件文件。

  • 解决方法:修改 crond 配置文件
vim /etc/crontab
将 MAILTO=root 替换成 MAILTO="",需要重启crond服务才可以
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值