《Inode与Block重要知识总结核心讲解》【转】
本文转载自:https://blog.csdn.net/BlackEnn/article/details/50787092
1.查看/dev/sda1下磁盘分区的block大小:
2.查看单个inode及block大小:
3.有关inode的知识:
Inode 用户的属性信息:
①首页的目录索引就相当于Inode;
②每一页就是一个Block;
③整本书就是一个磁盘或分区。
“df -i查看挂载的磁盘,inode情况”
有关inode小结:学会阶段性的知识,做小结是学好linux运维的好习惯:
(1)磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block;
(2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引,指向文件的实体->Block;
(3)ext3/ext4文件系统的Block存放的是文件的实际内容;
(4)inode是一块存储空间,Centos6非启动分区inode默认大小字节为256字节,Centos5为128字节;
(5)inode是一串数字,不同文件对应的inode(一串数字)在文件系统中是唯一的;
(6)如果一个文件很大,可能占多个block,如果一个文件很小,至少占一个,并且剩余空间浪费了;
(7)inode相同的文件,互为硬链接的文件;
(8)一个文件被创建后至少要占用一个inode和一个block;
(9)如果文件很小,也至少要占用一个block并且剩余空间不能被使用;
(10)inode大小和总量查看:
dumpe2fs /dev/sda2|egrep -i "block size|Inode Size“
dumpe2fs /dev/sda3|egrep -i "block count|Inode count"
(11)查看inode总量与使用量命令:df -i:
4.有关Block的知识:
(1)磁盘Blck读取数据是按block为单位读取的;
(2)一个文件可能占用多个block,每读取一个block就会消耗一次磁盘IO;
(3)如果要提升磁盘的性能的话,那么就要尽可能一次性地读取数据数量足够多;
(4)一个block只能存放一个文件的内容,无论内容多么的小。如果block的大小为4k,那么存放1K的文件,剩余3K就浪费了;
(5)block并非越大越好,Block太大对于小文件的存放就会浪费磁盘空间;
例如:1000K的文件,Block为4K,占用250个Block;
Block为1K,占用1000个Block。
消耗磁盘IO分别为:1000次与250次,试问谁的效率更高?
(6)大文件(大于16K)一般设置Block大一点;
小文件(小于16K)一般设置Block小一点。
(7)Blcok太大例如4K,文件都是0.1K的,大量浪费磁盘空间
(8)Block太小例如1K,文件都是1000K,消耗磁盘IO
(9)Block设置也是磁盘化分区的时候:
mkfs.ext4 -b 2048 -1 2056 /dev/sdb
(10)文件较大时Block设置大一些会提升磁盘效率;
(11)/ext3/ext4 一般设置为4K。
5.企业面试题
①一个100M(100000K)文件的磁盘分区,分别写入1K文件与写入1M文件,分别可以写多少个?
解答思想:
a.Inode是存放文件属性信息的,默认大小128byte(C58),256byte(C64);
b.Block是存放文件内容的,默认的大小1K(boot(引导区))或4K非系统分区;
c.一个文件至少要占一个Inode和一个block;
d.默认分区常规情况下,inode数量足够而block数量消耗的会更快。
正确解答:
1.默认分区常规情况下,对大文件来讲,inode是足够的,而block数量会消耗得更快,block为4K的情况下,1M的文件不会有磁盘浪费的情况,所以文件数量大概为100/1=100个;
2.对于小文件0.1K,inode会消耗得更快,默认分区的时候,block的数量是大于inode的数量的,每个文件会占用一个inode与一个block,所以最终文件的数量:inode会先消耗完,文件总量是inode的数量。
②如果向磁盘写入数据,提示:No space left on device,通过df -h查看磁盘空间,发现没满,为什么?
a.可能是inode耗尽了;
b.df -i查看是否耗尽了inode数量;
c.企业工作中临时邮件队列 /var/spool/clientmquene目录只有安装了sendmail服务才会有,是sendmail邮件的临时队列。Centos5.8默认就会安装sendmail,Centos6.6默认没有sendmail。
《Inode与Block重要知识总结核心讲解》【转】的更多相关文章
- 转《在浏览器中使用tensorflow.js进行人脸识别的JavaScript API》
作者 | Vincent Mühle 编译 | 姗姗 出品 | 人工智能头条(公众号ID:AI_Thinker) [导读]随着深度学习方法的应用,浏览器调用人脸识别技术已经得到了更广泛的应用与提升.在 ...
- face-api.js:一个在浏览器中进行人脸识别的 JavaScript 接口
Mark! 本文将为大家介绍一个建立在「tensorflow.js」内核上的 javascript API——「face-api.js」,它实现了三种卷积神经网络架构,用于完成人脸检测.识别和特征点检 ...
- TensorFlow.js之安装与核心概念
TensorFlow.js是通过WebGL加速.基于浏览器的机器学习js框架.通过tensorflow.js,我们可以在浏览器中开发机器学习.运行现有的模型或者重新训练现有的模型. 一.安装 ...
- 在Java中直接调用js代码(转载)
http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Ja ...
- 第十一章:WEB浏览器中的javascript
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...
- 在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert ...
- TensorFlow.js入门(一)一维向量的学习
TensorFlow的介绍 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着 ...
- JavaScript权威指南--WEB浏览器中的javascript
知识要点 1.客户端javascript window对象是所有客户端javascript特性和API的主要接入点.它表示web浏览器的一个窗口或窗体,并且可以用window表示来引用它.window ...
- 解决webkit浏览器中js方法中使用window.event提示未定义的问题
这实际上是一个浏览器兼容性问题,根源百度中一大堆,简要说就是ie中event对象是全局变量,所以哪里都能使用到,但是webkit内核的浏览器中却不存在这个全局变量event,而是以一个隐式的局部变量的 ...
- JS Date当前时间:获取日期时间方法在各浏览器中的差异
转自:http://www.feiesoft.com/00047/<script type="text/javascript"> // JS Date当前时间获取方法在 ...
随机推荐
- 进程 vs. 线程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Work ...
- TFS2013安装与使用图文教程
from:http://www.jb51.net/softjc/214560.html TFS2013安装与使用图文教程 一.安装和配置过程介绍 要安装TFS2013当然要先进行下载了,可以在下面的地 ...
- Python踩坑:类与类对象类型参数传递与使用
前言 对初学者来说,Python确实简单好用,毕竟动态类型语言,不用定义就可以拿来用,类型之间随意转换简直不要太方便,因此Python用来写写小脚本,爬虫程序什么的,没什么问题. 不过,一旦用来开发稍 ...
- webService通过response和request对象传输文件
<code class=" hljs java">package gacl.response.study; 2 3 import java.io.IOException ...
- 【BZOJ2793】[Poi2012]Vouchers 调和级数
[BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整 ...
- Jquery来对form表单提交(mvc方案)
来自:http://www.cnblogs.com/lmfeng/archive/2011/06/18/2084325.html 我先说明一下,这是asp.net mvc 里面的用法, Jquery来 ...
- 转载:HTML/CSS 速写神器:Emmet
转载在http://bubkoo.com/2014/01/04/emmet-a-toolkit-for-improving-html-css-workflow/ 在前端开发的过程中,一个最繁琐的工作就 ...
- Intellij IDEA快捷键及常见问题
在java学习与开发中经常使用Intellij IDEA,为提高效率会使用快捷方式. 现在记录下经常使用到快捷键: Ctr l+ O 快速重写父类方法 Ctrl + Shift + / xml注释&l ...
- 什么是PHP闭包???
闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用. 通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包. 1.匿名函数赋值 $demo=function($str){ echo ...
- Python3.6全栈开发实例[010]
10.有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} s = "k:1|k1:2|k2:3|k3:4" d ...