加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

/tmp/orbit-oracle/目次inode耗尽

发布时间:2021-01-25 18:45:15 所属栏目:站长百科 来源:网络整理
导读:[[email?protected] orbit-oracle]# cd / [[email?protected] /]# du -cks * |sort -nr|head -n 20 du: cannot access `proc/3493/task/3493/fd/4‘: No such file or directory du: cannot access `proc/3493/task/3493/fdinfo/4‘: No such file or direct
# du -cks * | sort -nr | head -n?20

删除部门文件,开释inode。

如需转载请注明出处:No space left on device?http://www.ttlsa.com/html/2066.html

?===========

?

http://www.zijidelu.org/thread-46862-1-1.html

看到这个错误,第一个回响是磁盘空间满了;但?df?一看,每个分区的空间都还富余的很。从?munin?的监控图表上看 Filesystem usage 也很安稳,但下面的 Inode usage 就有题目了,个中一个分区的 usage 已经到了100%。赶忙跑随处事器上?df -i?搜查,公然是 Inode 耗尽。原本这个分区是用来扔各类日记和姑且文件的,个中有某个措施发生的姑且文件又小又多,又没有举办按时回滚,造成在磁盘空间耗尽之前文件体系的 Inode 就被用光了。

  Linux/Unix like OS 的文件体系中每个目次树中的节点并不是像 Windows 那样直接包括文件的详细信息,而只包括了文件名和 Inode number 。通过 Inode number 所找到对应于文件名的 Inode 节点中才真正记录了文件的巨细/物理地点/全部者/会见权限/时刻戳/被硬链接的次数等现实的?metadata?。因此你可以在 Linux 体系中通过硬链接( hard link ) 的方法给某个文件建设无数个位于差异目次下的文件名,而现实的文件数据只必要一份拷贝。

  但也正由于这种文件体系的布局,当你在 Linux 中举办 IO 操纵的时辰,必要的资源除了磁盘空间以外,还要有剩余的 Inode 才行。缺省环境下, Linux 在体系安装进程中凭证1个 Inode 对应 2k 磁盘空间来计较每个分区的最大 Inode 数。一旦文件体系建设之后,每个分区可用 Inode 数就无法进动作态调解。

  正常来说,一样平常不太会呈现某个分区的 Inode 耗尽而磁盘空间尚余的环境,除非像我遇到的这样垃圾小文件疯长而又没举办有用的整理。但假如确实必要的话,可以在建设文件体系(好比用?mke2fs?)的时辰按照现实必要来调解这个参数(好比分区假如用于存放超大视频文件的话 Inode 的数目可以少一些;假如规划存放的文件是大量小于 2k 的迷你文件的话就要思量多建设一些 Inode)。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

要领2通过find呼吁,将文件清单输出到mv呼吁,使其一次处理赏罚一个,这样就完全停止了过量参数的存在,其它通过差异的参数,可以指定除了名称以外的时刻戳,权限,以及inode等匹配模式。
要领2的弱点在于较量淹灭时刻。

?

要领3 : 建设shell函数
e.g 3.1:

?

function huge_mv ()
{whileread line1; do
mv foo/$line1 ../foo2
done
}
ls -1 foo/ | huge_mv

写一个shell函数并不涉及到某种水平的伟大性, 这种要领比要领1和要领2对比越发机动。
下面我们来扩展一下例3.1 :
e.g 3.2:

?

function huge_mv ()
{whileread line1; do
md5sum foo/$line1 >> ~/md5sums
ls -l foo/$line1 >> ~/backup_list
mv foo/$line1 ../foo2
done
}
ls -1 foo/ | huge_mv

对比例3.1,例3.2天生了文件的md校验散列文件和名字备份,切合给本身留条后路的哲学。
其它可以按照本身的必要无穷制的扩展成果。

?

要领4 : 终极办理方案,从头编译内核

起首行使这个方案之前要审慎,由于涉及到修改内核源代码,在出产情形中照旧要斟酌一下并做好测试。
其它,这个要领是从基础上办理的,一劳永逸的?
这也是开放源码的甜头之一?
起首在内核源码中找到 include/linux/binfmts.h文件 ,搜刮到以下字段:
/*
* MAX_ARG_PAGES defines the number of pages allocated for arguments
* and envelope for the new program. 32 should suffice,this gives
* a maximum env+arg of 128kB w/4KB pages!
*/
#define MAX_ARG_PAGES 32

修改 MAX_ARG_PAGES数值为 64 可能更高即可完美的办理参数受限题目。
然后 从头编译并启用新内核即可。

#gnu/linux/unix 开源平台

?

================================

http://blog.csdn.net/iefreer/article/details/6124761

http://www.ttlsa.com/linux/no-space-left-on-device/

一. 收到报警

线上有一台处事器磁盘检测告警了,提醒空间不敷。爬随处事器查察相干信息:

/tmp/orbit-oracle/目次inode耗尽

/data分区只行使了71%,建设文件却提醒磁盘空间不敷,按理说不会呈现这种环境的。莫非inode耗尽?

二. 说明缘故起因

查察/data分区inode行使环境相干信息如下:

/tmp/orbit-oracle/目次inode耗尽

果不其然,IUse%=100%,导致无法建设文件。

在linux体系下,硬盘被分区名目化后,包括inode和block,inode是用来记录文件的巨细,物理地点,属主,属组,读写权限,时刻戳,被硬链接的次数等等元数据的。block是用来存储数据的。正由于这种文件体系布局,在linux下,除了剩余磁盘空间之外,还要剩余inode才行,两者缺一不行的。可通过dumpe2fs -h /dev/sdb1或tune2fs -l /dev/sdb1 来查察最大inode数和inode巨细。一旦文件体系建设后,每个分区的可用inode数无法动态的举办调解,除非从头名目化。

三. 查找缘故起因并办理

/data是线上营业数据目次,各类站点、日记、姑且文件存放目次。个中有个措施发生大量的小文件造成的。可通过下面的呼吁找出占用空间最多的文件或目次:

热点阅读