No space left on device(转载)
本文转自
http://blog.163.com/ly_89/blog/static/186902299201191233058625/
=====================概述=====================
block 还有 inodes 满了 ====== 》 小文件太多 ======》 /var/spool/clientmqueue 小文件太多 =====》 cron 产生的
==========================解决思路=========================
..1 把小文件删除
..2 把产生小文件的源头干掉
一:
设置crontab 时提示No space left on device
用df -k 检查还有空间
用df -i 显示 /var 已占用100%,如果inode耗尽,则系统上将不能创建文件。
在/var/spoo/clientmqueue/下有超多的文件 ls 半天没反应
用rm -rf * 会自动跳出root,用xargs来解决。
# cd /var/spool/clientmqueue
# ls | xargs rm -f
原因分析:系统中cron执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
解决办法: 将crontab里面的命令后面加上> /dev/null 2>&1
二:
故障现象:
1 when you create a new directory or file , system will say : No space left on device
[shelladm@linux /var]# mkdir aa
mkdir: cannot create directory `aa': No space left on device
2 when create crontab for account shelladm , you will receive error information as follows:
"crontab.6655" 1L, 13C written
crontab: installing new crontab
cron/tmp.6655: No space left on device
crontab: edits left in /tmp/crontab.6655
处理步骤:
1 检查分区使用率
[root@linux ~]# df -lk
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda2 3020172 136008 2730744 5% /
/dev/hda1 101089 9378 86492 10% /boot
/dev/hda7 105708092 38996880 61341488 39% /b2006
none 1028548 0 1028548 0% /dev/shm
/dev/hda3 3020172 1421092 1445660 50% /usr
/dev/hda6 497829 371795 100332 79% /var
分区/var的使用率只有79%,系统有空间可以用
2 检查/var/lock下的文件,删除/var/lock/subsys/nfs后,touch /var/aa,成功创建文件,删除/var/aa
3 发现删除/var/lock下的任意一个文件后
[root@linux /var]#touch /var/aa -------------------成功
[root@linux /var]# touch aa1 -------------------失败
touch: creating `aa1': No space left on device
4 将检查扩大到/var下的其他目录,
[root@linux icons]# cd /var/www/icons
[root@linux icons]# mv a.gif /tmp
[root@linux icons]# mv a.png /tmp -------------------移走两个文件
[root@linux icons]# df -li
[root@linux icons]# touch aa
[root@linux icons]# touch bb
[root@linux icons]# touch cc
touch: creating `cc': No space left on device -----------只能创建两个文件,当创建第三个文件时,出错
5 怀疑分区/var的inode用尽导致上述问题,检查inode使用率
[root@linux icons]# df -li
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda2 384000 23698 360302 7% /
/dev/hda1 26104 41 26063 1% /boot
/dev/hda7 13434880 7964 13426916 1% /b2006
none 257137 1 257136 1% /dev/shm
/dev/hda3 384000 78026 305974 21% /usr
/dev/hda6 128520 128520 0 100% /var
发现/var的inode使用率已经达到100%,空余的inode为0
6 分区/var没有配置quota ,平均每个inode的占用空间为:497829k(var size)/128520(inodes)=3.87k,说明分区的最小block为4k,无法增加inode限额。
7 发现/var/spool/clientmqueue下面有太多的文件,共有127679个,占用了127679/128520(inodes)=99.3%的inode
系统的邮件配置有问题,导致系统发出的邮件堆积在队列中,占用的大量的inode.
处理方法:确认/var/spool/clientmqueue下的文件已经无用后,删除之。然后/var写入正常。
最好的解决办法是重新设置系统邮件,使其能正常发送。
删除文件后的inode使用情况
[root@linux clientmqueue]# df -li
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda2 384000 23698 360302 7% /
/dev/hda1 26104 41 26063 1% /boot
/dev/hda7 13434880 7964 13426916 1% /b2006
none 257137 1 257136 1% /dev/shm
/dev/hda3 384000 78026 305974 21% /usr
/dev/hda6 128520 4561 123959 4% /var
结论:分区/var的inode全部用尽,free inode为0,导致无法创建新的文件或目录,以后遇到类似的问题要注意
用df -li 检查inode的使用情况。
################################################################################
当启动apache的时候报这种错:
No space left on device: Couldn't create accept lock
df -h 一下发现不是磁盘空间的问题,google了一下发现是系统的Semaphore Arrays不够用了,用以下命令可以查看所有的
Semaphore Arrays:
ipcs -s
然后用这行命令删除所有的Semaphore Arrays即可:
ipcs -s | grep nobody | perl -lane 'print `ipcrm sem $F[1]`' (其中nobody表示用户名)
No space left on device(转载)的更多相关文章
- [转载]tail No space left on device
转载http://www.chenxie.org/?p=717 # tail -f ../logs/catalina.outtail: cannot watch `../logs/catalina.o ...
- centos编译内核:no space left on device 解
1.问题:在下面的根文件夹中的原始源代码 编译出现 no space left on device 利用df -h 命令查看 根文件夹空间占用完成 2.将源代码改在其它空间非常足的地方编译 在make ...
- Postgresql FATAL: could not create semaphores: No space left on device
昨天安装完成pg 9.5后,启动报错: FATAL: could not create semaphores: No space left on device DETAIL: Failed sys ...
- gzip: stdout: No space left on device问题的解决
一.问题描述 最近安装了ubuntu14.04,并在ubuntu14.04中编译了一次内核.这之后大部分情况下用sudo apt-get install 安装应用都会出现“gzip: stdout: ...
- 生产环境下案例 No space left on device (inode使用满的情况)
第一种情况: 问题: 如果想磁盘写入数据提示如下错误: No space left on device. 通过df -h查看磁盘空间,发现没满,请问可能原因是什么? 解答: 可能是inode数量被消耗 ...
- No space left on device you must specify the filesystem type--Linux重启挂在失败
在Linux中拷贝了一个文件比较大5G,直接提示:No SPace Left On Device,很明显是磁盘空间不够了,我因为是在虚拟机上面建的,直接右击虚拟机==>编辑设置 如图片1所示, ...
- No space left on device 解决Linux系统磁盘空间满的办法
最近Linux电脑在执行mvn时候总是报错: No space left on device 原因是磁盘空间满了,我马上加了20G的硬盘容量,但是还是报错,上网查了一下,发现了解决方法,我用了其中 ...
- gcc 错误:Fatal error error writing to tmp No space left on device
在使用gcc make时报错:Fatal error error writing to tmp No space left on device finiteVolume/ddtSchemes/Eule ...
- linux服务器报No space left on device错误的解决过程记录
起因 今天在本地提交了点代码,但到服务器上git pull的时候提示No space left on device,第一反应是猜想可能硬盘满了(很有可能是log导致的),不过想想又觉得不太可能,这台服 ...
随机推荐
- iframe宽高自适应
iframe子页面结尾添加本script iframe子页面结尾添加本script <script type="text/javascript"> fu ...
- java中成员变量,局部变量,静态变量的辨析
转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...
- tianmao项目的学习笔记
1.后台-分类管理/查询 实体相关的知识: 1.1@Entity和@Table的区别:https://www.cnblogs.com/softidea/p/6216722.html 1.2@JsonI ...
- 抽象语法树 Abstract syntax tree
什么是抽象语法树? 在计算机科学中,抽象语法和抽象语法树其实是源代码的抽象语法结构的树状表现形式 在线编辑器 我们常用的浏览器就是通过将js代码转化为抽象语法树来进行下一步的分析等其他操作.所以将js ...
- Ninject 2.x细说---1.基本使用
Ninject 2.x细说---1.基本使用 https://blog.csdn.net/weixin_33809981/article/details/86091159 本来想使用一下Ninje ...
- koa2第一天 安装koa2found 1 low severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details
安装全局koa2:npm install -g koa2 -generator 创建一个koa2文件夹:koa2 -e koa2 进入koa2文件夹:cd koa2 安装npm模块:npm insta ...
- 问题 B: 奇怪的电梯
问题 B: 奇怪的电梯 时间限制: 1 Sec 内存限制: 128 MB[命题人:admin] 题目描述 大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0& ...
- Zigbee 与 WiFi 的区别
zigbee 在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存在许多缺陷.对工业,家庭自动化控制和遥测遥控领域而言,蓝牙技术显得太复杂,功耗大,距离近,组网规模太小等,……而工业自动化对 ...
- shiro登录认证过程讲解
先粘出登录的代码 1. 可以看到已经获取到了username和password ,为了接下来的认证过程,我们需要获取subject对象,也就是代表当前登录用户,并且要将username和passw ...
- 10-Java-JSTL标签库的使用
使用JSTL标签库使用 第一步:引入相关jar包到WEB-INF/lib/,JSTL标签库(standard.jar,jstl.jar) 第二步:在JSP文件中通过 taglib指令引入标签库,例如: ...