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

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

发布时间:2021-01-24 23:29:58 所属栏目:站长百科 来源:网络整理
导读:[[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
inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。在 UNIX 中创建文件系统时,同时将会创建大量的 inode 。通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。   有时,人们使用了一些不同的术语,如 inode 和索引编号 (inumber)。这两个术语非常相似,并且相互关联,但它们所指的并不是同样的概念。inode 指的是数据结构;而索引编号实际上是 inode 的标识编号,因此也称其为inode 编号 或者索引编号。索引编号只是文件相关信息中一项重要的内容。下一个部分将介绍 inode 中的其他一些属性。   inode 表包含一份清单,其中列出了对应文件系统的所有 inode 编号。当用户搜索或者访问一个文件时,UNIX 系统通过 inode 表查找正确的 inode 编号。在找到 inode 编号之后,相关的命令才可以访问该 inode ,并对其进行适当的更改。   例如,使用 vi 来编辑一个文件。当您键入 vi <filename> 时,在 inode 表中找到 inode 编号之后,才允许您打开该 inode 。在 vi 的编辑会话期间,更改了该 inode 中的某些属性,当您完成操作并键入 :wq 时,将关闭并释放该 inode 。通过这种方式,如果两个用户试图对同一个文件进行编辑, inode 已经在第一个编辑会话期间分配给了另一个用户 ID (UID),因此第二个编辑任务就必须等待,直到该 inode 释放为止。

?

?

1. inode 是作甚么的???
??
??一个 filesystem 可以粗略地分成 inode table 与 data area 两部份.??
??inode table 上有许多的 inode,每个 inode 分别 记录一个档案的属性,??
??与这个档案分布在哪些 datablock 上??
??
2. 一个 inode 有多大呢???
??
??128 byte!??
??
3. inode 和 data area 的关系??
??
??在 new filesystem 时,通常会有一个参数,用来描述要分配多少比例的空间给??
??inode table. 举例来说,??
??
??newfs -i 2048??
??
??是指 file system 中,每分配 2048 byte 给 data area,就分配一个 inode??
??但是一个 inode 就并不是一定就用掉 2048 byte,也不是说 files allocation??
??的最小单位是 2048 byte,它仅仅只是代表 filesystem 中??
??inode table/data area 分配空间的比例是 128/2048 也就是 1/16??
??(换个角度想,我们可以想成是预估 filesystem 中 file 平均大小是 2048 byte)??
??
??如果 inode table 太小,那么在每个档案都很小的时候,就会发生 inode 用光 而??
??datablock 还剩一堆的情形.??
??
4. file allocation 的最小单位 和 inode 多少有没有关系呢???
??
??没有关系!??
??
??FFS 中真正的最小单位是 fragment size 也就是我们在 new filesystem 时用的??
??
??newfs -b 8192 -f 1024??
? ?? ?? ?? ?? ? ^^^^^^^^??
??ps: -b 8192 代表 blocksize=8192,这种"较大单位"是用来加速大档案的存取用的??
??
在 FreeBSD 中,内定的是 -i 4096 -b 8192 -f 1024. 如果您要架 bbs/new 的话??
可以考虑用 -i 1024 -b4096 -f1024??
??
unixer??
??
============================================================================??
From:?[email?protected]?(Ji,Wen-Jie)??
Newsgroups: tw.bbs.comp.386bsd??
Subject: Re: HELP !! The parameter of newfs??
Date: Thu,12 Dec 1996 01:39:31 GMT??
??
? ?? ???没关系,我自己找到答案了,写在此让大家分享一下.??
? ?? ???所谓 block size & fragment size,这是属于 file system??
? ?? ???的一种解决方案. 自4.3 BSD,BSD 用这种方法来解决档案 fragment??
? ?? ???的问题??
? ?? ?? ?? ?? ? 先假设??a block size= 4K,a fragment size = 256Bytes.??
? ?? ???假如你现在要将一个 1K 的新档案写入 file system,FS 会把它存入 4??
? ?? ???个fragment,而不会存入 block,一但这个档案继续被 append 增加到 4K??
? ?? ???时,FS 会将它转存到一个 block中,而原来的 16 个fragments 就会被 clean??
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ^^^^^^^^^^^^^^^^^^^^??
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?因为当你的档案大到 4K 时,它占用??
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?了 16 (4K / 256 bytes) 个 fragments??
? ?? ?? ?? ?? ? 再举个例子,如果现在又存了一个新的 4.1K 的档案,FS 会分配??
? ?? ???一个 block 及 4个 fragment 给 这个档案,??
? ?? ???因为 1 block + 4 fragments = 4 K + 256 bytes * 4 = 4.1K??
??
? ?? ???所以,有此可知,对于一台 news server,bbs,或是会有大量的小档案存取时,??
? ?? ???为了降低 FS 的空间耗损率,应该采用 -b 4096 -f 256,??
? ?? ???而不要采用预设值的 -b 8192 -f 1024,因为大部分的信件都不超过 512 bytes,??
? ?? ???有些更不超过 256 bytes,但是这样可能会降低存取的速度.但我相信不严重??
? ?? ???有兴趣的人可以试试. ?

?

(编辑:晋中站长网)

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

  其它人碰到的 No space left on device 原因:

  超出系统中同时运行的最大 message queue 个数限制?: 在?root?下用?sysctl kernel.msgmni?检查该参数,sysctl -w kernel.msgmni=XXX?重新设定即可。

?WARN??internal.ParameterParserImpl - Upload failed
com.alibaba.service.upload.UploadException: Processing of multipart/form-data request failed. /tmp/upload_64f22eb1_113e12038a1__7fe6_00000000.tmp(No space left on device)
? ?? ???at com.alibaba.service.upload.DefaultUploadService.parseRequest(DefaultUploadService.java:170)
? ?? ???at com.alibaba.webx.request.context.parser.internal.ParameterParserImpl.parseUpload(P

df??-h
Filesystem? ?? ?? ?? ?Size??Used Avail Use% Mounted on
/dev/sda2? ?? ?? ?? ?4.9G 2.2G 2.4G??48% /
/dev/sda1? ?? ?? ?? ? 99M??12M??83M??12% /boot
none? ?? ?? ?? ?? ???2.0G? ???0 2.0G? ?0% /dev/shm
/dev/sda7? ?? ?? ?? ?119G??45G??69G??40% /home
/dev/sda3? ?? ?? ?? ?4.9G 3.9G 685M??86% /usr
/dev/sda5? ?? ?? ?? ?2.9G 138M 2.6G? ?5% /var

[[email?protected] logs]$ df -i
Filesystem? ?? ?? ???Inodes??IUsed??IFree IUse% Mounted on
/dev/sda2? ?? ?? ?? ?640000 640000? ?? ?0 100% /
/dev/sda1? ?? ?? ?? ? 26104? ???38??26066? ?1% /boot
none? ?? ?? ?? ?? ???218174? ?? ?1 218173? ?1% /dev/shm
/dev/sda7? ?? ?? ???15826944 147888 15679056? ?1% /home
/dev/sda3? ?? ?? ?? ?640000 147367 492633??24% /usr
/dev/sda5? ?? ?? ?? ?384000? ?3210 380790? ?1% /var
??df -i 可以看到Inode节点已经满了。

??通过删除大量的小文件得以解决。

?

热点阅读