linux No space left on device 由索引节点(inode)爆满引发500问题
inode是什么? 理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。
这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。
这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
最近网站编辑反应上传图片失败,网站页面也经常500错误

常规500错误查找http://www.cnblogs.com/hiit/p/8568480.html找了一圈发现配置没问题。
查看了nginx error错误日志发现磁盘空间满了

用df -h命令查看了一下磁盘使用情况,发现空间还有剩余。

发现问题:后来用df -i查看了一下索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。

解决方法:删除无用的临时文件,释放inode。
可以查看 /tmp 目录下有很多临时文件。
也可以选择/var/spool/目录
输入一下命令查看/var/spool/下的文件个数
for i in /var/spool/; do echo $i; find $i |wc -l|sort -nr; done

看到有200多万文件
cd /var/spool/clientmqueue/ 进入这个目录,删掉这些没用的文件,查看一下,60万文件吧,文件太多,
于是就用到了这个命令:
ls | xargs rm -rf
2或者这个命令
find . -name "*" | xargs rm -rf
可以分批的处理删除文件,如下图是删除后的效果:inode使用21%。好了

就是因为垃圾文件长时间没清理,导致清理文件花太多的时间,为了避免该类问题,最好对系统的垃圾文件进行定时清理,或者部署监视系统。
可以根据较大目录的文件占用情况,临时转移部分文件到占用磁盘较小的目录中。
linux No space left on device 由索引节点(inode)爆满引发500问题的更多相关文章
- 由索引节点(inode)爆满引发的问题
关于磁盘空间中索引节点爆满的问题还是挺多的,借此跟大家分享一下: 一.发现问题在公司一台配置较低的Linux服务器(内存.硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命 ...
- 索引节点(inode)爆满问题处理
关于磁盘空间中索引节点爆满的问题还是挺多的,借此跟大家分享几个情况: 情况一 在公司一台配置较低的Linux服务器(内存.硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命 ...
- 查找大文件 & 索引节点(inode)爆满 解决办法
经常遇到磁盘满或者文件节点满的情况,整理如下 查找大文件 查找超过某个大小的文件, 如1G find . -type f -size +1G 查找文件大小的时候,现实文件属性 find . -type ...
- Linux索引节点(Inode:no space for device)用满导致的一次故障
问题描写叙述 在storm測试环境集群上上nimbus和supervisor自己主动挂调.重新启动时显示no space for device,也不能创建,加入文件及文件夹,df -h查看 ilesy ...
- Linux索引节点(Inode)用满导致空间不足
一.问题出现 在创建新目录和文件是提示“no space left on device”!按照以前的情况,很有可能是服务器空间又被塞满了,通过命令查看,发现还有剩余.再用df -i查看了一下/分区的索 ...
- Centos 06 文件类型和扩展名&索引节点inode和存储块block
本节内容 1.文件类型 2.文件扩展名 3.索引节点inode和block块 首先需要申明一点, 1.在linux里面文件扩展名和文件类型是没有关系的 2.为了容易区分和兼容用户使用windows的习 ...
- linux "No space left on device" 磁盘空间解决办法
某年某月某日某时,某人在工作中设置crontab定时任务规则保存时,提示“No space left on device”,此时用df -h检查磁盘,发现还有剩余空间.请问是什么原因及如何排查?什么会 ...
- 索引节点inode
在Linux的文件系统中,索引节点是文件的标识,并且这个值是唯一的,两个不同的文件的索引节点值是不同的,索引节点相同的文件它们的内容是相同的,仅仅文件名不同.修改两个索引节点值相同的文件中的一个文件, ...
- 索引节点inode详解
Inode(index node),索引节点.Linux系统中,分区要进行格式化,创建文件系统.在每个Linux存储设备或存储设备的分区(可以是硬盘,软盘,U盘等)被格式化为ext3文件系统后,一般分 ...
随机推荐
- Netty高可靠性设计:优化建议
尽管Netty的可靠性已经做得非常出色,但是在生产实践中还是发现了一些待优化点,本小节将进行简单说明.希望后续的版本中可以解决,当然用户也可以根据自己的实际需要决定自行优化. 1 发送队列容量上限控 ...
- Error:Error #2174
1.错误描述 Error:Error #2174 : 对于每个FileReference,每次只能执行一个下载.上载.加载或保存操作 2.错误原因 Flex中,在做单文件上传时,多次点击"上 ...
- C# 枚举使用和对应说明获取实例
1.定义枚举 /// <summary> /// 订单状态 /// </summary> public enum OrderState { 待支付 = 1, 待处理 = 2, ...
- CentOS中配置SoftWareRaid磁盘冗余阵列
(以vmware workstation为例) 1.关机添加一块硬盘 2.使用fdisk -l 可以看到 /dev/sdb硬盘设备 3.fdisk /dev/sdb配置磁盘分区,准备4个磁盘分区,用于 ...
- 初识Go语言
一.Go语言的主要特性: ① 开放源代码的通用计算机编程语言.开放源代码的软件(以下简称开源软件)更容易被修正和改进. ② 虽为静态类型.编译型的语言,但go语言的语法却趋于脚本化,非常简 ...
- jxl导入/导出excel(网上的案例)
jxl导入/导出excel 1.jxl导入/导出excel案例,黏贴即可运行 package junit.test; import java.io.File; import java.io.IOExc ...
- C#图解教程 第十章 结构
结构 什么是结构结构是值类型对结构赋值构造函数和析构函数 实例构造函数静态构造函数构造函数和析构函数小结 字段初始化语句是不允许的结构是密封的装箱和拆箱结构作为返回值和参数 关于结构的其他信息 结构 ...
- 主流nosql数据库对比
目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Ri ...
- 简单的cookie读写封装
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Luogu2458】保安站岗(动态规划)
[Luogu2458]保安站岗(动态规划) 题面 题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地 ...