磁盘使用率大于90% 磁盘inode使用率大于90%

本文分析了因sendmail和postdrop进程导致的磁盘使用率高和inode资源耗尽问题,提供了清理相关进程、修改crontab配置及清理/var/spool/postfix/maildrop目录的方法。
摘要由CSDN通过智能技术生成

线上机器一直再报 磁盘使用率大于90%,发现/var/log/下边有个mail文件,很大就直接清理掉>mail 

但是这个问题反复出现,感觉一个没有什么业务的机器怎么磁盘使用率那么大 就查了下mail日志文件的形成

ps 发现有好多sendmail、postdrop进程

在网上查了下他们的关系才知道

crond在执行脚本的时候会将脚本输出信息通过调用sendmail发邮件给系统用户,sendmail有会调用postdrop发送邮件,由于postfile服务异常邮件没有发送成功,造成sendmail  postdrop无法正常退出

 

解决办法:

删除sendmail,postdrop进程,是内存降下来

ps -ef |grep 'mail'|awk -F" " '{print $2}'|xargs kill -9

ps -ef |grep 'postdrop'|awk -F" " '{print $2}'|xargs kill -9

关闭crond的邮件通知

修改/etc/crontab,/etc/cron.d/0hourly中MAILTO=root修改为MAILTO=""

crontab -e第一行增加一段MAILTO=""

 

修改crontab -e 遇到No space left on device

df -h 发现磁盘使用没有问题

df -i 发现/var下磁盘的inode使用量100%

find */ ! -type l | cut -d / -f 1 | uniq -c 发现/var/spool/postfix/maildrop有好多文件,这些文件就是sendmail发送失败,堆积在maildrop中

清理掉这个目录 发现sendmail,postdrop进程又出现了 然后重启crond,观察没有再出现

df -h显示磁盘占用是没有问题;但是df -i显示磁盘inode资源占用完。

inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

这种情况的原因通常是:尽管那个分区的磁盘占用率未满,但是inode已经用完,应该是该磁盘的某些目录下存在大量的小文件导致。尽管小文件占用的磁盘空间并不大,但是数量太多,inode用尽。

 

### Linux 中查看磁盘使用率的方法 `df -h` 是一种常用的命令,用于以人类可读的形式展示文件系统的磁盘空间使用情况。此命令会提供关于每个已挂载文件系统的总容量、已使用的空间、可用的空间以及使用百分比的信息[^2]。 #### `df -h` 的具体含义 - **Filesystem**: 表示文件系统所在的分区或设备名称。 - **Size**: 文件系统的总大小。 - **Used**: 已经使用的磁盘空间大小。 - **Avail**: 可用的磁盘空间大小。 - **Use%**: 当前文件系统的磁盘空间使用比例。 - **Mounted on**: 文件系统的挂载点,即磁盘所挂载的具体目录位置[^3]。 通过执行以下命令可以直观地了解各个分区的磁盘使用状况: ```bash df -h ``` 如果需要关注 inode 使用情况,则可以通过如下命令实现: ```bash df -i ``` 这有助于排查因大量小文件而导致的存储问题[^4]。 #### 输出解释实例 假设运行上述命令后得到的结果类似于下表所示内容: | Filesystem | Size | Used | Avail | Use% | Mounted on | |-----------------|-------|------|-------|------|------------| | /dev/sda1 | 50G | 20G | 30G | 40% | / | 其中 `/dev/sda1` 是一个具体的物理分区,其总大小为 50GB,已经使用了 20GB,还有 30GB 可供分配,当前使用率为 40%,并挂载到了根目录 (`/`) 下面。 ### 总结 对于希望快速掌握整个服务器或者本地机器上的磁盘资源分布状态而言,`df -h` 提供了一个简洁明了的方式去呈现这些重要数据。而当遇到由于过多小文件引发的问题时,也可以借助于 `df -i` 来进一步诊断原因所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值