linux inode已满解决方法
今天login server的一个网站,发现login后没有生成session。根据以往经验,一般是空间已满导致session文件生成失败。
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
空间剩余14G,可以排除空间已满的情况。导致文件生成失败还有另一个原因,就是文件索引节点inode已满。
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
inodes 占用100%,果然是这个问题。
解决方法:删除无用的临时文件,释放inode。
查找发现 /tmp 目录下有很多sess_xxxxx的 session临时文件。
ls -lt /tmp | wc -l
4011517
进入/tmp目录,执行find -exec命令
sudo find /tmp -type f -exec rm {} \;
如果使用rm *,有可能因为文件数量太多而出现Argument list too long错误,关于Argument list too long错误可以参考《linux Argument list too long错误解决方法》
除了/tmp的临时文件外,0字节的文件也会占用inode,应该也释放。
遍历寻找0字节的文件,并删除。
sudo find /home -type f -size 0 -exec rm {} \;
删除后,inode 的使用量减少为19%,可以正常使用了。
df -i Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/dev01-root 4964352 940835 4023517 19% /
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 =================================================================================================
当新建文件时,会提示no space left。实际上,用df看,是有剩余空间的。
但是用 df -i 查看时,会发现,inode用完了,使用率100%。
所以不能新建文件,却能append一个文件的内容。
情况是发生在/var 分区,手工找了找,是/var/spool/clientmqueue里文件太多:
[root@localhost clientmqueue]# ls | wc -w
256210
[root@localhost clientmqueue]# rm -f *
-bash: /bin/rm: Argument list too long
[root@localhost clientmqueue]# for i in `ls` ; do rm -f $i; done
好几分钟,才删了4万多个的文件,
还是直接删除clientmqueue目录,快很多。再建立这个目录,并恢复相应的属性即可。
手动清理方法:
find /var/spool/clientmqueue/ -type f |xargs rm -f
或
添加定时任务处理
http://blog.dingjian.me/2013/11/150.html
linux inode已满解决方法的更多相关文章
- SQL SERVER2005事务日志已满 解决方法
DUMP TRANSACTION 数据库名称 WITH NO_LOG alter database 数据库名称 set recovery simple 3.右键你要压缩的数据库--所有任务--收缩数据 ...
- TFS:TF30042 数据库已满 处理方法
原文:TFS:TF30042 数据库已满 处理方法 今天早上,公司打来电话,说TFS(Team Foundation Server)微软源代码管理软件签入不了,报错:TF30042 数据库已满. 经过 ...
- Linux Vsftpd 连接超时解决方法
Linux Vsftpd 连接超时解决方法 2013-11-13 10:58:34| 分类: 默认分类|举报|字号 订阅 解决方法(http://www.lingdus.com/thread ...
- linux服务器时间同步失败解决方法
linux服务器时间同步失败解决方法 1.为什么会时间不同步: ①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会导致电脑时间积累误差的产 (什么是电脑晶振:http:// ...
- Linux时间变慢解决方法
情景:系统为CentOS-5.4,硬件时间正确(查看硬件时间的方法见下面),系统时间每隔24小时会慢20分钟左右Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...
- Apache service named reported the following error(OS 10055)由于系统缓冲区空间不足或队列已满解决办法?
apache启动失败报错: The Apache service named reported the following error:>>> AH00451: no listeni ...
- sql 2008数据事务日志已满处理方法
突然发现sql 2008出现错误:数据库 'mybase_db' 的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc ...
- Linux Vsftpd 连接超时解决方法(被动模式)
http://blog.csdn.net/qq_15766181/article/details/46554643 使用 FileZilla FTP Client 连接 Vsftpd FTP,在没有配 ...
- Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法
问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...
随机推荐
- JAVA抽象类,接口,多态,抽象方法,一次列举
HEAD FIRST这系列的书,真的让人产生阅读的快感~~:) 和那套明日科技的一样,.. interface Nose { public int iMethod(); } abstract clas ...
- Android 介绍spydroid每个包的大体功能
看了接近一周的spydroid源代码,对spydroid这个开源项目有了一定的认识.也许有些理解不一定正确,给后来者一点启示.也是自己对rtsp协议,rtp协议的总结. 在windows下,如果安装了 ...
- UVA253 Cube painting(数学)
题目链接. 分析: 用的<训练指南>上的方法.详见P17. 从6个面中选一个做顶面,再从剩下的4个面中选1个做正面,则此正方体唯一确定. 需要枚举共6*4=24种. #include &l ...
- jquery and js 判断一个元素是否存在
一.javascript中判断一个元素是否存在 if(document.getElementById('example')){ // do sth } 二.jquery中判断一个元素是否存在 < ...
- CodeForces 371D. Vessels
暴力+胡乱优化就过了..tags给的东西似乎什么都没用到.....CF的数据是不是有点水啊.....果然是没有营养的题目..... D. Vessels time limit per test 2 s ...
- 工作那些事(四)大公司VS小公司
都说大公司学做人,小公司学做事.这话有一定的道理,但是也不是绝对的.做人简单地说就是与人打交道,为人处世:做事,对我们来说就是实现需求,解决bug.有句话,是这么说的:有人的地方就有江湖,有江湖,就得 ...
- Spine(2D骨骼动画)
点击进入Spine官网 Spine 是一款针对游戏的 2D 骨骼动画编辑工具. Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画. 功能: 1.摄影表 Dopesheet 在动画制作 ...
- Robotium--takeScreenshot(截图)
在Robotium中,截图的方法时调用takeScreenshot(). 但有使用你会发现明明代码里调用了solo.takeScreenshot(),但却没有截图成功,那是因为被测试的应用没有SD卡的 ...
- Scala学习笔记之:tuple、array、Map
[TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...
- Android - 硬件抽象层(HAL)
以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luosheng ...