测试Linux平台Inode使用情况的过程命令
2012-11-06 15:53
197 查看
原文来自:http://linux.ccidnet.com/art/3067/20090909/1882213_1.html
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/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平台Inode使用情况
- 详解Linux中free命令,查看系统内存使用情况
- Linux下利用nc命令来监控检测服务器的端口使用情况
- Linux查看磁盘使用情况命令
- Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍
- Linux使用jstat命令查看jvm的GC情况
- Linux下利用nc命令来监控检测服务器的端口使用情况
- Linux查看CUP和内存的使用情况--top命令
- 将Oracle数据库改为归档模式并启用RMAN备份 如下Linux环境下对Oracle单节点数据库采用文件系统情况的配置归档模式过程。首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置。
- 以软件开发生命周期的过程来说明不同测试的使用情况
- Linux监控cpu以及内存使用情况之top命令(详解)
- Linux使用jstat命令查看jvm的GC情况
- day06 tar命令使用,vim简单操作以及linux开机过程
- linux查看硬盘使用情况命令
- [转]Linux df 命令不更新磁盘数据空间使用情况的解决办法
- Linux下利用nc命令来监控检测服务器的端口使用情况 推荐
- 关于安装linux redhat后无法使用yum命令安装gcc-c++问题的解决过程
- Linux 用top命令查看CPU和内存使用情况
- linux 操作系统中ping测试网络连通性命令的使用
- Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍