Inodes 100%使用排查

今天登录测试机器发现oracle无法启动,启动报错no space on device ,反复确认硬盘空间没有满:

[root@new ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracle11g-lv_root
                       66G   52G   11G  84% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
[root@new ~]# 

进一步检查,发现Inodes使用率100%

[root@new ~]# df -i
Filesystem            Inodes   IUsed  IFree IUse% Mounted on
/dev/mapper/vg_oracle11g-lv_root
                     4340752 4340752      0  100% /
tmpfs                 479500       1 479499    1% /dev/shm
/dev/sda1             128016      39 127977    1% /boot

然后用以下语句检查,发现/var竟然用了4150912个inodes:


[root@new ~]# for i in /*; do echo $i; find $i | wc -l; done
/BENCHMARKS.md
1
/bin
122
/boot
30
/data
1008
/dev
708
/etc
2612
/home
148
/lib
4089
/lib64
425
/lost+found
1
/media
2
/misc
1
/mnt
1
/net
1
/ogg
272
/opt
68258
/oracle.sh
1
/proc
23711
/root
194
/sbin
314
/selinux
1
/srv
1
/sys
11687
/tmp
18
/tools
2
/use
4
/usr
123572
/var
4150912

再进一步发现是/var/spool/posfix占用最多,我这是oracle机器,没有运行postfix,把postfix删除,Inodes使用恢复正常:

rm -f /var/spool/postfix

或者用:

find /var/spool/postfix/ -type f |xargs rm -rf

 

删除后Inodes使用正常:

 

 

后来查询文章是以下原因导致:

系统执行计划任务crond时出错。而crond在执行脚本时会将保持信息以邮件的形式发送给crond用户,而环境的postfix没有正常运行,导致邮件发送失败,都会堆积在/var/spool/postfix/maildrop/目录中,(可以在crontab中第一行增加MAILTO=""发送为空)。如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。

解决:

1、vi /etc/crontab;将MAILTO=root修改为MAILTO="",保存。

2、/etc/init.d/crond restart

删除:

1、find /var/spool/postfix/maildrop/ -type f |xargs rm -rf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值