您的位置:首页 > 理论基础 > 计算机网络

07-关于inode与block的几道面试题(转自网络)

2018-02-05 17:44 721 查看
1、一个100M(100000K)的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个?

错误解答:

很容易计算1K的个数:100*1000=10000个,1M文件的个数:100/1=100个。

正确解答(过程分析):

a.假如block为4k,写入1k文件的数量基本上是block的数量:

①如果inode数量够多的时候,就是block的数量,浪费3/4容量;

②如果inode数量小于block的数量,就是inode的数量,浪费3/4的容量。

b.假设block为4K,写入1M的文件:

①总block数量/250block=存放1M的数量;

②还要看硬盘空间多大,基本上就可以写入100/1M的数量,一般情况下inode和block都是足够的。

涉及到的知识点(面试建议直接答这个):

①上面的考试题考察的是文件系统inode和block的知识。

②inode是存放文件属性信息的(也包括指向文件实体的指针),默认大小128byte(CentOS 5.X)、256byte(CentOS 6.X)

③block是存放文件实际内容的,默认大小1K(boot)或4K(非系统分区默认给4K),一般企业多用4K的block。

④一个文件至少要占用一个inode及一个block。

⑤默认较大分区常规企业真实场景情况下,inode数量是足够的,而block数量消耗的会更快。

2、如果向磁盘写入数据提示如下错误:No space left on device,通过df -h查看空间,发现磁盘没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生?

解答:

第一问:可能是inode数量被耗尽了。

第二问:企业工作中邮件临时队列/var/spool/clientmquene这里很容易被大量小文件占满导致No space left on device的错误。clientmquene目录只有安装了sendmail服务,才会有,是sendmail邮件临时队列.CentOS5.X默认就会装sendmail服务,CentOS6.X默认没有sendmail,但是有postfix 。

附:Linux服务器 /var/spool/clientmqueue 目录下产生大量文件的解决办法

http://blog.csdn.net/jiedushi/article/details/9446899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux inode block