zoukankan      html  css  js  c++  java
  • 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命令

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

    上述两个命令可以使用-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的写法和产生的文件的定时清理

    来源: 

    https://mp.weixin.qq.com/s/spSGiAs9NOgGIL2YuhYrSg

    十年磨一剑
  • 相关阅读:
    Windows Store App 主题动画
    Windows Store App 过渡动画
    Windows Store App 控件动画
    Windows Store App 近期访问列表
    Windows Store App 文件选取器
    Windows Store App 访问应用内部文件
    Windows Store App 用户库文件分组
    Windows Store App 获取文件及文件夹列表
    Windows Store App 用户库文件夹操作
    Windows Store App 用户库文件操作
  • 原文地址:https://www.cnblogs.com/qinlulu/p/13204802.html
Copyright © 2011-2022 走看看