为什么inode耗尽,而磁盘仍然有很大空间
2016-04-21 22:41
579 查看
之前因为这个问题,在心中憋了好久。最近有时间了解到操作系统的概念,才一解心中疑惑。先上几个网上截图。
那为什么inode耗尽,而磁盘仍然有很大空间,怎么理解?
因为inode(inode是OS为了管理磁盘而占用的额外的磁盘空间)与data block(data block是真正存储数据的磁盘块)不是一一对应的。在ext4系统中,两者的比例为1:4,即4个data block才会分配一个inode。这样的设置一般情况下是合理的,比如一般的文件都是几个M,或者大文件几个G,只耗费一个inode)。但是这中制度也会导致,如果你磁盘上放的都是不超过一个block(linux一个block为4K)的小文件,就会出现一个Inode只占用一个data block,极端情况下就会导致inode用完,但是data block还没有用完的情况(极端情况下,磁盘利用率只有40%)。
现在的Linux文件基本上都已经是ext4,但是这个也是基于ext2做的一个改进。
ext2的磁盘划分大概如下(注意super block和GDT在每个block group 都有,存在冗余),其中indoor table就是存放inode的地方:
请尊重原创。
参考资料:
http://www.ruanyifeng.com/blog/2011/12/inode.html http://www.csdn123.com/html/topnews201408/91/8991.htm http://akaedu.github.io/book/ch29s02.html#id2857323
df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G 4.0K 2.0G 1% /dev tmpfs 396M 292K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 4.0K 2.0G 1% /run/shm /dev/sda1 228M 149M 68M 69% /boot
df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/dev01-root 4964352 4964352 0 100% / udev 503779 440 503339 1% /dev tmpfs 506183 353 505830 1% /run none 506183 5 506178 1% /run/lock none 506183 2 506181 1% /run/shm /dev/sda1 124496 255 124241 1% /boot
那为什么inode耗尽,而磁盘仍然有很大空间,怎么理解?
因为inode(inode是OS为了管理磁盘而占用的额外的磁盘空间)与data block(data block是真正存储数据的磁盘块)不是一一对应的。在ext4系统中,两者的比例为1:4,即4个data block才会分配一个inode。这样的设置一般情况下是合理的,比如一般的文件都是几个M,或者大文件几个G,只耗费一个inode)。但是这中制度也会导致,如果你磁盘上放的都是不超过一个block(linux一个block为4K)的小文件,就会出现一个Inode只占用一个data block,极端情况下就会导致inode用完,但是data block还没有用完的情况(极端情况下,磁盘利用率只有40%)。
现在的Linux文件基本上都已经是ext4,但是这个也是基于ext2做的一个改进。
ext2的磁盘划分大概如下(注意super block和GDT在每个block group 都有,存在冗余),其中indoor table就是存放inode的地方:
请尊重原创。
参考资料:
http://www.ruanyifeng.com/blog/2011/12/inode.html http://www.csdn123.com/html/topnews201408/91/8991.htm http://akaedu.github.io/book/ch29s02.html#id2857323
相关文章推荐
- node.js 安装express 遇到的问题
- LeetCode之24----Swap Nodes in Pairs
- LeetCode之24----Swap Nodes in Pairs
- 用NodeJs实现延迟调用,规避定时任务的闭包问题
- 用node.js 搭建一个简单的服务器
- LintCode : Remove Node in Binary Search Tree
- How to delete a node in BST?
- nodejs中exports与module.exports的区别
- Node 之 Express 学习笔记 第一篇 安装
- 开始nodejs+express的学习+实践(1)
- 在win7系统中使用nodejs在WebStrom下配置socket.io
- Windows系统下使用Sublime搭建nodejs环境
- 222. Count Complete Tree Nodes -- 求完全二叉树节点个数
- 116. Populating Next Right Pointers in Each Node
- Node.js
- Cisco VPP(5) node关系图
- node入门解读(grunt,npm)
- nodejs高大上的部署方式-PM2
- nodejs部署
- 数据上传