赛迪网 > IT技术 Linux > Shell命令
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

测试Linux平台Inode使用情况的过程命令

发布时间:2008.06.27 05:29     来源:赛迪网    作者:sixth

Linux/Unix like OS 的文件系统中每个目录树中的节点并不是像 Windows 那样直接包含文件的具体信息,而只包含了文件名和 Inode number 。通过 Inode number 所找到对应于文件名的 Inode 节点中才真正记录了文件的大小/物理地址/所有者/访问权限/时间戳/被硬链接的次数等实际的 metadata 。因此你可以在 Linux 系统中通过硬链接( hard link ) 的方式给某个文件创建无数个位于不同目录下的文件名,而实际的文件数据只需要一份拷贝。

但也正因为这种文件系统的结构,当你在 Linux 中进行 IO 操作的时候,需要的资源除了磁盘空间以外,还要有剩余的 Inode 才行。缺省情况下, Linux 在系统安装过程中按照1个 Inode 对应 2k 磁盘空间来计算每个分区的最大 Inode 数。一旦文件系统创建之后,每个分区可用 Inode 数就无法进行动态调整。正常来说,一般不太会出现某个分区的 Inode 耗尽而磁盘空间尚余的情况,除非像我碰到的这样垃圾小文件疯长而又没进行有效的清理。但如果确实需要的话,可以在创建文件系统(比如用 mke2fs )的时候根据实际需要来调整这个参数(比如分区如果用于存放超大视频文件的话 Inode 的数量可以少一些;如果打算存放的文件是大量小于 2k 的迷你文件的话就要考虑多创建一些 Inode)。

使用df -i命令可以看到每个分区的总inode数目和被使用的以及空闲的inode数目

首先我们测试一下将Inode占用完的情况:先找到一个200K大小的文件(test.log),然后通过如下命令将其拆成数个小文件:

split -a 10 -b 1 test.log z

多次重复以上的动作,即可将Inode全部占用完.此时导致的现象是虽然通过df -k可以查看系统还存在剩余的空间,但由于无法分配Inode,导致无法新建新文件了.

通过如下命令可以将这些大量的小文件删除:

find ~ -name "*.log" | xargs -L rm

注意不能直接通过rm命令删除,因为rm命令是将被删除的文件作为一个又一个参数传递进来的,当被删除的文件过多时,容易导致出现参数过长的错误提示:arg list too long

当Inode被用尽时,也会导致Oracle的监听进程启动错误。

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux基金会希望NVIDIA显卡驱动开放源码 (06-26) · Linux系统下推荐使用的5个屏幕录像软件 (06-25)
· 浏览器之争:Opera 9.5极地反攻Firefox 3 (06-24) · 红帽公司推出实时功能和高性能消息处理 (06-24)
· Linux下Compiz Fusion新特效Stackswitch (06-24) · Linux环境下Java开发 Linux和Windows比较 (06-24)
· Vim编译器配合ctags实现函数原型快速定位 (06-24) · 使用initrd文件系统 U-boot引导Linux方法 (06-24)
· 新手学堂:Linux操作系统下硬盘挂载方法 (06-24) · Shell基础学习:关于Wget命令的使用技巧 (06-24)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 移动信息化市场方兴未艾 企业呼唤标准出台
· 如何把握企业价值差异 避免CRM与SCM脱节
· 齐看四大厂商的SaaS动态 ERP案例分析
· 通方期货CRM解决方案 方正电子公文系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统