跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
Diodes捷比信 · 专业器件主题站

详细讨论Linux系统下inode资源的耗尽

1.索引节点简介Linux系统下的文件数据存储在“块”中,并且文件的元信息,例如文件的创建者,文件的创建日期,文件的大小等。用于存储文件元信息的区域称为索引节点,其被翻译为“索引节点”。用中文(表达。 Inode也占用硬盘空间。格式化硬盘后,操作系统会自动将硬盘分为两个区域。一个是数据区,用于存储文件数据。另一个是inode区域(inodetable),用于存储inode中包含的信息。每个inode节点的大小通常为128字节或256字节。格式化时会给出inode节点的总数,通常每1KB或每2KB设置一个inode。假设在1GB硬盘中,每个inode节点的大小为128字节,并且每1KB设置一个inode,则inodetable的大小将达到128MB,占整个硬盘的12.8%。 2.索引节点资源耗尽。索引节点的耗尽类似于存储空间的耗尽。无法创建两个文件或无法正常执行某些命令。索引节点用完后,可能仍然有存储空间。在这种情况下,通常会生成大量小文件,这些文件会填满不可索引的表。在正常情况下,当存储空间用完时,inode通常只使用百分之几,因此很容易忽略对inode使用情况的监视。借用网络图来说明i节点已用完而磁盘空间未用完的情况:查看磁盘空间使用情况,使用df命令查看i节点使用情况,使用df-i命令:上面两个命令可以使用-h参数,命令它是df-h和df-hi。从图中可以看出,磁盘空间使用了71%,而索引节点使用了100%。 3. Inode耗尽解决方案inode的大小是在格式化磁盘时确定的,并且与分区的大小有关。分区越大,inode越大,反之亦然。 Linux操作系统的根目录通常具有相对较小的分区。如果定期生成小文件,但未及时清理,则很容易导致索引节点填满。解决inode满时的问题的步骤:(1)查看foriin / *; doecho $ i; find $ i | wc-l; done最多的文件的目录如果确定了目录范围,则特定的写入点/ *最终发现是/ var / spool / postfix / maildrop目录中的小文件太多。原因如下:linux执行cron时,它将以邮件形式将cron执行脚本中的输出和警告信息发送给cron所有者。由于客户环境中的sendmail和postfix不能正常运行,并且邮件没有成功发送,因此所有小文件都存储在maildrop目录中。另外,由于缺少自动清除机制,因此在此目录中积累了大量文件。经过调查,root用户发现有一个定时任务每分钟同步一次时钟。定时任务每分钟会生成一个小文件。 (2)要删除大量文件ls | xargs-n1000rm-rf,需要使用xargs命令,否则删除将失败。 4.总结(1)就设置而言,在列表中添加MAILTO =“”。到crontab -e的第一行,并且不会生成任何文件。 (2)重定向设置定时任务的定向输出文件,不需要日志输出的定时任务可以重置日志。定向到/ dev / null,如下所示:* / 10 **** / tmp / test.sh》 / dev / null2》& 1(3)定期清理文件查找目录-typef-mtime + 30 | xargs -n1000rm-f * *(4)使用监视inode的注意事项:请注意crontab的编写以及对生成文件的定期清理。编辑AJX