启动Apache时提示No space left on device

时间:2023-02-02 18:19:11
网上很多人遇到的是硬盘还有空间,但是也报错:No space left on device. 显然他们的问题是因为inode耗尽了。

Linux上创建文件需要对应的inode如果inode 耗尽也无法写入文件,inode可以通过df -i查看。通常由于<2K的小文件过多,而每个小文件又占用一个inode,这样就会出现硬盘空间还有,却无法继续写入。


系统中oracle用户的corntab中的脚本造成的,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,可以直接删除!

于是cd /var/spool/clientmqueue 

rm * (rm -f *) 都不行,显示参数列表过长(-bash: /bin/rm: Argument list too long)无法用rm直接删除,怎么办?

解决办法: 

将crontab里面的命令后面加上 > /dev/null 2>&1。 如:ls -l / > /dev/null 2>&1 

补充,这些文件太多的时候用rm删除很慢,可以以root身份进入/var/spool/clientmqueue/,执行: ls|xargs rm -f 就能全部删除了 

使用xargs 

# cd /var/spool/clientmqueue 

# ls | xargs rm -f 

回车后,过了两三分钟,终于执行完了,clientmqueue下空空如也,