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" ...
随机推荐
- python010 Python3 元组
Python3 元组Python 的元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.如下实例: tup1 = ...
- html5的新通讯技术socket.io,实现一个聊天室
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- msp430项目编程
msp430中项目---LED数码管显示 1.数码管介绍 2.代码(直接使用引脚驱动) 3.代码(使用译码器驱动) 4.项目总结 msp430项目编程 msp430入门学习
- codeforces 1041 c 乱搞
#include <bits/stdc++.h> using namespace std; struct po { int val; int id; }; po a[]; vector&l ...
- POJ 3281 [网络流dinic算法模板]
题意: 农场主有f种食物,d种饮料,n头牛. 接下来的n行每行第一个数代表第i头牛喜欢吃的食物数量,和第i头牛喜欢喝的饮料数目. 接下来分别是喜欢的食物和饮料的编号. 求解:农场主最多能保证几头牛同时 ...
- Python的描述符
1.描述符的定义 描述符是与特定属性互相绑定的一种协议,通过方法被触发修改属性,这些方法包括__get__(),__set__(),__delete__().将这些方法定义在类中,即可实现描述符 2. ...
- linux是类unix操作系统
linux是类unix操作系统,linux与unix使用的基础命令是一样的,没有区别.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程 ...
- ffm算法
www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf 读书笔记 The effect of feature conjunctions(组合特征) is difficul ...
- 【转】 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
原文:http://blog.csdn.net/testcs_dn/article/details/38496107 ----------------------------------------- ...
- Firefox下td用display控制页面导致页面变形
Firefox下table的td元素假设使用了display:'block'会使得table变形.原因是block会将对象强制作为块对象呈递,为对象之后加入新行,所以并不适合td,改成display: ...