美文网首页
Linux系统inodes资源耗尽问题

Linux系统inodes资源耗尽问题

作者: iamChel | 来源:发表于2020-12-28 08:33 被阅读0次

Linux系统inodes资源耗尽问题

1.inodes介绍

Linux系统下文件数据储存在"块"中,文件的元信息,例如文件的创建者、文件的创建日期、文件的大小等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
inode也占用硬盘空间,硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。

每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。

2.inodes资源耗尽

inodes使用完与存储空间使用完相似,都是创建不了文件或无法正常执行一些命令。inodes使用完,存储空间可能还有,这种情况一般是生成了大量的小文件,把inode table占满。

一般情况下存储空间使用完,inodes往往才使用百分之几,所以容易忽视对inodes使用情况的监控。

借用网图来说明inodes用尽,而磁盘空间还未用完的情况:查看磁盘空间使用情况,使用df命令

1609115462(1).jpg

查看inodess使用情况,使用df -i命令

1609115508(1).jpg

上述两个命令可以使用-h参数,命令为df -h和df -hi。从图中看见磁盘空间使用71%,但是inodes使用100%。

3.inodes耗尽解决

inodes的大小在磁盘格式化分区时确定,跟分区的大小相关,分区越大,inodes越大,反之亦然。

linux操作系统根目录一般分区比较小,如果有定时性的小文件产生而又未及时清理,则很容易造成inodes占满。

inodes占满解决步骤:

(1)查看文件最多的目录

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

如果确定目录范围,把/*写的具体点

最终发现是/var/spool/postfix/maildrop目录下小文件过多,原因如下:由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送给cron所有者。由于客户环境中的sendmail和postfix没有正常运行,邮件发送不成功,导致全部小文件都堆积在maildrop目录下,另由于缺乏自动清理的机制,故此目录下堆积了大量的文件。

经过排查root用户下发现有个每分钟进行一次时钟同步的定时任务,该定时任务每分钟产生一个小文件。

(2)删除大量文件

ls | xargs -n 1000 rm -rf 需要使用xargs命令,不然会删除失败。

4.总结

(1)设置方面在crontab -e 第一行增加MAILTO="" ,就没有文件产生啦

(2)重定向对定时任务设置定向输出文件,不需要日志输出的定时任务可以将日志重定向到/dev/null,如下:

*/10 * * * * /tmp/test.sh >/dev/null 2>&1

(3)定时清理文件

find 目录 -type f -mtime +30 | xargs -n 1000 rm -f**

(4)监控inodes的使用

备注:应注意crontab的写法和产生的文件的定时清理

相关文章

  • Linux系统inodes资源耗尽问题

    Linux系统inodes资源耗尽问题 1.inodes介绍 Linux系统下文件数据储存在"块"中,文件的元信息...

  • docker: failed to register layer

    Docker 拉取镜像的时候报错 Github 上也有人指出该错误 原因是 inodes 资源耗尽 , 清理一下即...

  • Linux环境下安装node

    Linux环境下安装node 问题描述:某天想在Linux环境下使用npm安装某个资源包,结果发现Linux系统下...

  • MySQL打开文件限制

    Linux系统资源限制 Linux会对用户所占用的系统资源进行限制,MySQL运行在Linux系统下也会受此限制。...

  • 安全工具对比,linux面板安全

    现在linux系统来说最害怕的就是安全问题,对于服务器来说linux系统时最稳定的,消耗资源最少的,同样的配置wi...

  • 异常处理

    Error Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOver...

  • Linux 内存管理篇(3)页框管理

    背景: 页框管理是Linux系统的基本功能,主要负责维护RAM资源,完成系统对RAM资源请求的分配。Linux 把...

  • linux和git学习资源

    linux资源 Linux达人养成计划 I Linux 达人养成计划II Linux系统管理 Introducti...

  • 485. 【Linux】Out of memory 应对方案

    Linux 有一个 OOM killer 策略用于保护操作系统,防止在内存大量占用时,系统没有足够资源运转的问题。...

  • Linux基础知识

    Linux文件系统 Linux文件系统简介 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘...

网友评论

      本文标题:Linux系统inodes资源耗尽问题

      本文链接:https://www.haomeiwen.com/subject/kxkznktx.html