linux有磁盘空间却显示不足 linux中inode使用率过高处理办法

linux中inode使用率过高处理办法

前几天收到监控告警,说Inode节点空间不足,之前没处理过这种问题,所以记录一下处理过程,便于以后查阅。

Inode使用率高并不会影响系统正常运行和新文件的创建,但是当使用率达到100%的时候,此时虽然磁盘还有空间,也不能创建新的文件了。

这是因为,文件在存储到磁盘中的时候,会同时用到inode和block,inode保存文件属性信息,包括文件名,大小,权限,时间,存储位置等,而block中则保存实际的数据,

所以如果inode用完的话,即使磁盘还有空间也无法创建新文件了。

发生这种情况的原因一般是系统中小文件过多,占用了大量的inode节点,找到对应目录,删除一些文件就可以了。

说明:以下执行结果并不是真实告警值,只是操作举例。

1.查看磁盘分区和inode使用情况

df -h #查看磁盘分区使用情况
df -ih #查看inode节点使用情况

2.查找并删除临时文件

ll -rt /tmp | wc -l
find /tmp -type f -exec rm {} \;

3.删除0字节的文件

find /home -type f -size 0 -exec rm {} \;

4.查找包含大量文件的目录并删除

for i in /*; do echo $i; find $i |wc -l; done
for i in /var/*; do echo $i; find $i |wc -l; done

大概率在/var目录下的/var/spool中有大量文件,进入该目录查看

for i in /var/spool/*; do echo $i; find $i |wc -l; done

 发现 /var/spool/postfix/ 目录下有大量文件,继续进入该目录查看

 说明:/var/spool/postfix/ 下面生成那么多的文件是因为crontab定时任务导致的,定时任务执行后发送邮件告知联系人,但是发送失败就会在postfix下生成,所有就产生了这么多的垃圾文件。

for i in /var/spool/postfix/*; do echo $i; find $i |wc -l; done

 可以看到,文件主要集中在/var/spool/postfix/maildrop目录下,进入该目录清除即可

 执行rm命令直接删除,可能会报错参数列表太长,可以通过一下方式进行删除

 ls | xargs -n 500 rm -rf #-n表示一次传递参数的个数

执行完之后,再次用 df -ih 查看Inode节点使用率,发现恢复正常。 

分类: Linux

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Linux 是一个开源的操作系统,与其他操作系统一样,它可以通过命令行或者图形界面进行管理和操作。在 Linux ,磁盘驱动器被视为文件,可以通过文件系统的挂载点访问。下面是一些常见的 Linux 磁盘管理命令: 1. df 命令:用于查看磁盘空间的使用情况,包括磁盘总容量、已使用的容量和可用的容量等。 示例:`df -h`,以易读的方式显示磁盘空间使用情况。 2. du 命令:用于查看文件或目录的大小,可以用来找出磁盘空间占用过大的文件或目录。 示例:`du -sh /path/to/directory`,查看指定目录的大小。 3. fdisk 命令:用于对磁盘进行分区和管理,可以创建、删除、修改分区等。 示例:`fdisk -l`,列出所有磁盘分区的信息。 4. mkfs 命令:用于创建文件系统,可以将磁盘分区格式化为指定的文件系统类型。 示例:`mkfs.ext4 /dev/sda1`,将 /dev/sda1 格式化为 ext4 文件系统。 5. mount 命令:用于挂载文件系统到指定的挂载点,使得文件系统可以被访问。 示例:`mount /dev/sda1 /mnt/data`,将 /dev/sda1 挂载到 /mnt/data 目录下。 6. umount 命令:用于卸载已经挂载的文件系统,使得该文件系统不再被访问。 示例:`umount /mnt/data`,卸载 /mnt/data 目录下的文件系统。 以上是一些常用的 Linux 磁盘管理命令,可以帮助管理员进行磁盘管理和维护工作。 ### 回答2: 在Linux系统,可以使用一些常用的命令来监控磁盘使用情况。以下是几个常见的命令: 1. `df`命令:用于显示文件系统的磁盘空间利用率。运行`df`命令可以显示所有已挂载的文件系统及其使用情况。其,`df -h`可以以人类可读的方式显示文件系统的使用情况,`df -i`可以显示文件系统的inode使用情况。 2. `du`命令:用于估算文件或目录的磁盘空间使用量。可以使用`du`命令来查看特定文件或目录的磁盘空间使用情况,例如`du -sh /path/to/directory`可以以人类可读的方式显示目录的磁盘使用情况。 3. `iotop`命令:用于监视磁盘I/O活动,即实时显示磁盘I/O数据。运行`iotop`命令可以显示各个进程的磁盘I/O使用情况,包括读写速度和进程名称。 4. `atop`命令:用于监控系统资源的使用情况,包括磁盘I/O。运行`atop`命令可以显示各个进程的磁盘I/O使用情况,包括读写速度和进程名称,还可以查看磁盘的使用情况。 5. `sar`命令:用于系统性能监控和报告。运行`sar -d`命令可以查看系统磁盘的使用情况,包括磁盘读写速度、I/O等待时间等。 这些命令提供了不同的方式来监视和分析磁盘使用情况,可以根据具体需求选择合适的命令进行使用。通过监控磁盘使用情况,可以及时发现并解决磁盘空间不足或磁盘I/O繁忙的问题,确保系统的稳定和正常运行。 ### 回答3: 在Linux系统,可以使用一些命令来监控磁盘使用情况。 1. df命令:df命令用于显示磁盘文件系统的整体磁盘使用情况。使用命令"df -h"可以以易读的方式显示磁盘空间的使用情况,包括总磁盘空间、已用空间、可用空间和已用百分比。 2. du命令:du命令用于显示目录或文件的磁盘使用情况。使用命令"du -h"可以按易读的方式显示指定目录或文件的磁盘使用情况,包括磁盘空间占用、子目录或文件的大小等信息。 3. iostat命令:iostat命令用于监控系统的磁盘I/O情况。使用命令"iostat -x"可以显示磁盘设备的磁盘传送率、响应时间和队列长度等信息,帮助了解磁盘的读写性能。 4. top命令:top命令用于实时查看系统的资源占用情况。在top命令的输出,可以通过按下"d"键来按磁盘I/O排序,从而查看磁盘读写操作的情况。 5. sar命令:sar命令用于收集和报告系统活动信息。使用命令"sar -d"可以查看系统的磁盘活动信息,包括磁盘读写速率、I/O请求数量和平均响应时间等。 以上这些命令可以帮助管理员实时或定期监控系统的磁盘使用情况,及时发现磁盘空间不足、磁盘性能下降等问题,并采取相应的措施进行处理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万事俱备,就差一个程序员了

谢谢您,赏俺根辣条,尝尝鲜.谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值