i节点,容易被人遗忘的节点
前段时间做了RHCE的一道题,是iSCSi的,后来在挂载的时候说是磁盘被占用。当时资料找了很多结果还是没有找到解决方法。反倒是发现了这个inode,也是关于被占用的,只不过这个是空间被占用。
可能有人会碰到一种情况就是明明磁盘还有很大的空间,但是不能创建文件了。这其实是inode搞得鬼。讲到inode就不得不先讲文件系统。
文件系统创建结束,分区分为超级块、inode表和数据区三个部分。超级块存放文件系统本身的结构信息.
比如, 超级块记录了每个区域的大小, 超级块也存放未被使用的磁盘块的信息.
inode表存放着文件的一些属性,如文件的大小, 文件所有者, 和创建时间等, 所有i节点都有相同的大小, 并且inode表是这些结构的一个列表, 文件系统中每个文件在该表中都有一个inode, 需要注意的是,
inode并不存放文件的名字. 数据区保存了文件的实际的内容. 磁盘上所有块的大小都一样, 这个跟文件系统的块大小是可以不一样的, 文件系统的块大小可以在格式化的时候指定, 这也就是为什么众多SSD玩家买了SSD硬盘之后要4K对齐的最终原因了, 因为传统的格式化的默认的文件系统的块大小跟SSD这种新型的存储设备的块大小是不一样的(传统的是512字节,
而SSD是4096字节), 如果文件系统的块是512而SSD的默认块是4096, 那么读取文件的时候效率就是个问题了, 因为本来读取一次就可以的数据需要读取多次. 如果如果文件包含了超过一个块的内容, 则文件内容会存放在多个数据区的块中.
我们知道在linux下一切都是文件:文件是文件,目录是文件,甚至设置也是文件。那么目录就没有inode了吗?其实目录可以看成是一群inode 的集合。目录里面并没有存储文件本身,而是文件名和文件的inode号。
那么回到我们的主题。当你创建一个文件的时候,系统就自动为你的文件申请了inode。inode是会消耗磁盘空间的。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode表的大小就会达到128MB,占整块硬盘的12.8%。当你创建了N多个文件并且每个文件很小的时候,可能你的inode已经用光了,但是磁盘仍有剩余。这就是为什么有人遇到磁盘有剩余但创建文件仍然提示磁盘空间不足的原因
提供一些查看inode的命令:
查看文件系统的inode总数和使用情况
df -i
查看文件的inode号
ls -i
×××
查看文件的详细信息
stat ×××
i节点,容易被人遗忘的节点的更多相关文章
- 开源工作流管理系统节点接收人设置“指定节点处理人”系列讲解
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- Eruda 一个被人遗忘的调试神器
Eruda 一个被人遗忘的调试神器 引言 日常工作中再牛逼的大佬都不敢说自己的代码是完全没有问题的,既然有问题,那就也就有调试,说到调试工具,大家可能对于 fiddler.Charles.chro ...
- Eruda 一个被人遗忘的移动端调试神器
引言 日常工作中再牛逼的大佬都不敢说自己的代码是完全没有问题的,既然有问题,那就也就有调试,说到调试工具,大家可能对于fiddler.Charles.chrome devtools.Firebug ...
- Tree树节点选中及取消和指定节点的隐藏
指定节点变色 指定节点隐藏 单击节点 未选中则选中该节点 已选中则取消该节点 前台: 1.HTML <ul id="listDept" name="listDept ...
- 深入理解DOM节点类型第五篇——元素节点Element
× 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ...
- IOS 杂笔-14(被人遗忘的owner)
*owner在开发中现在已经很少用了 有兴趣的童鞋可以看看* 我们遇到owner通常是在类似 [[[NSBundle mainBundle] loadNibNamed:@"Food" ...
- 深入理解DOM节点类型第三篇——注释节点和文档类型节点
× 目录 [1]注释节点 [2]文档类型 前面的话 把注释节点和文档类型节点放在一起是因为IE8-浏览器的一个bug.IE8-浏览器将标签名为"!"的元素视作注释节点,所以文档声明 ...
- js 节点 document html css 表单节点操作
js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...
- 节点操作-创建并添加&删除节点&替换&克隆节点
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...
随机推荐
- Leetcode 318.最大单词长度乘积
最大单词长度乘积 . 示例 1: 输入: ["abcw","baz","foo","bar","xtfn&qu ...
- .net中的协变和逆变
百度:委托中的协变和逆变. 百度:.net中的协变和逆变. 协变是从子类转为父类. 逆变是从父类到子类. 这样理解不一定严谨或者正确.需要具体看代码研究.
- 【2018 Multi-University Training Contest 1】
01:https://www.cnblogs.com/myx12345/p/9362221.html 02:https://www.cnblogs.com/myx12345/p/9382267.htm ...
- POJ 1015 Jury Compromise【DP】
罗大神说这题很简单,,,,然而我着实写的很难过... 题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110495#proble ...
- P2835 刻录光盘
洛谷—— P2835 刻录光盘 题目描述 在JSOI2005夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习.组委会觉得这个主意不错!可是组委会 ...
- 通过XMLHttpRequest,ActiveXObject实现ajax请求
今天学习了原生的ajax请求.我将涉及到的ajax请求方法封装成了一个对象: var xhr={ getXHR:function(){ var XHR = null; ...
- Hibernate学习笔记(三)
我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440 ...
- Spring中基于AOP的XML架构
以下内容引用自http://wiki.jikexueyuan.com/project/spring/aop-with-spring-framenwork/xml-schema-based-aop-wi ...
- 【转】海量数据处理算法-Bloom Filter
1. Bloom-Filter算法简介 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合.它是一个判断元素是否存在于 ...
- grails的criteria和hql查询
grails在查询方面也保留了hibernate的hql和criteria查询功能.hql自然不必多说基本不会有什么变化,grails的criteria查询在hibernate上面做了微调使用起来更加 ...