(1)lseek(): 仅将当前的文件偏移量记录在内核中,并不引起任何IO操作
(2)od命令的使用: od -c <filename> 以字符方式打印文件内容
(3)操作系统中进程终止时,内核会关闭进程中所有的文件描述符,因此有些program在退出时并没有显式调用close().
以下转自http://www.cnblogs.com/thinksasa/archive/2013/04/10/3013445.html,在工作中也的确碰到同事处理此种问题,原因也在转自的博客中做了解释。问题如下:
在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题。 后来用df -i查看了一下/data分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。
查找原因:
/data/cache目录中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。
解决方案:
1、删除/data/cache目录中的部分文件,释放出/data分区的一部分inode。
2、用软连接将空闲分区/opt中的newcache目录连接到/data/cache,使用/opt分区的inode来缓解/data分区inode不足的问题:
ln -s /opt/newcache /data/cache
时间: 2024-10-22 01:42:01