<p>一:设置crontab 时提示No space left on device</p><p>用df -k 检查还有空间</p><p>用df -i 显示 /var 已占用100%,如果inode耗尽,则系统上将不能创建文件。</p><p>在/var/spoo/clientmqueue/下有超多的文件 ls 半天没反应</p><p>用rm -rf * 会自动跳出root,用xargs来解决。</p><pre class="brush:bash;toolbar:false">#cd/var/spool/clientmqueue #ls|xargsrm-f</pre><p>原因分析:系统中cron执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;</p><p>解决办法: 将crontab里面的命令后面加上&gt; /dev/null 2&gt;&amp;1</p><p>二:</p><p>故障现象:</p><p>1 when you create a new directory or file , system will say : No space left on device</p><p>[shelladm@linux /var]# mkdir aa</p><p>mkdir: cannot create directory `aa&#39;: No space left on device</p><p>2 when create crontab for account shelladm , you will receive error information as follows:</p><p>&quot;crontab.6655&quot; 1L, 13C written</p><p>crontab: installing new crontab</p><p>cron/tmp.6655: No space left on device</p><p>crontab: edits left in /tmp/crontab.6655</p><p>处理步骤:</p><p>1 检查分区使用率</p><pre class="brush:bash;toolbar:false">[root@linux~]#df-lk Filesystem1K-blocksUsedAvailableUse%Mountedon /dev/hda2302017213600827307445%/ /dev/hda110108993788649210%/boot /dev/hda7105708092389968806134148839%/b2006 none1028548010285480%/dev/shm /dev/hda330201721421092144566050%/usr /dev/hda649782937179510033279%/var</pre><p>分区/var的使用率只有79%,系统有空间可以用</p><p>2 检查/var/lock下的文件,删除/var/lock/subsys/nfs后,touch /var/aa,成功创建文件,删除/var/aa</p><p>3 发现删除/var/lock下的任意一个文件后</p><pre class="brush:bash;toolbar:false">[root@linux/var]#touch/var/aa-------------------成功 [root@linux/var]#touchaa1-------------------失败 touch:creating`aa1&#39;:Nospaceleftondevice</pre><p>4 将检查扩大到/var下的其他目录,</p><pre class="brush:bash;toolbar:false">[root@linuxicons]#cd/var/www/icons [root@linuxicons]#mva.gif/tmp [root@linuxicons]#mva.png/tmp-------------------移走两个文件 [root@linuxicons]#df-li [root@linuxicons]#touchaa [root@linuxicons]#touchbb [root@linuxicons]#touchcc touch:creating`cc&#39;:Nospaceleftondevice-----------只能创建两个文件,当创建第三个文件时,出错</pre><p>5 怀疑分区/var的inode用尽导致上述问题,检查inode使用率</p><pre class="brush:bash;toolbar:false">[root@linuxicons]#df-li FilesystemInodesIUsedIFreeIUse%Mountedon /dev/hda2384000236983603027%/ /dev/hda12610441260631%/boot /dev/hda7134348807964134269161%/b2006 none25713712571361%/dev/shm /dev/hda33840007802630597421%/usr /dev/hda61285201285200100%/var</pre><p>发现/var的inode使用率已经达到100%,空余的inode为0</p><p>6 分区/var没有配置quota ,平均每个inode的占用空间为:497829k(var size)/128520(inodes)=3.87k,说明分区的最小block为4k,无法增加inode限额。</p><p>7 发现/var/spool/clientmqueue下面有太多的文件,共有127679个,占用了127679/128520(inodes)=99.3%的inode</p><p> 系统的邮件配置有问题,导致系统发出的邮件堆积在队列中,占用的大量的inode.</p><p>处理方法:确认/var/spool/clientmqueue下的文件已经无用后,删除之。然后/var写入正常。</p><p> 最好的解决办法是重新设置系统邮件,使其能正常发送。</p><p>删除文件后的inode使用情况</p><pre class="brush:bash;toolbar:false">[root@linuxclientmqueue]#df-li FilesystemInodesIUsedIFreeIUse%Mountedon /dev/hda2384000236983603027%/ /dev/hda12610441260631%/boot /dev/hda7134348807964134269161%/b2006 none25713712571361%/dev/shm /dev/hda33840007802630597421%/usr /dev/hda612852045611239594%/var</pre><p>结论:分区/var的inode全部用尽,free inode为0,导致无法创建新的文件或目录,以后遇到类似的问题要注意</p><p> 用df -li 检查inode的使用情况。</p><p>################################################################################</p><p>当启动apache的时候报这种错:</p><pre class="brush:bash;toolbar:false">Nospaceleftondevice:Couldn&#39;tcreateacceptlock df-h一下发现不是磁盘空间的问题,google了一下发现是系统的SemaphoreArrays不够用了,用以下命令可以查看所有的 SemaphoreArrays: ipcs-s</pre><p>然后用这行命令删除所有的Semaphore Arrays即可:</p><pre class="brush:bash;toolbar:false">ipcs-s|grepnobody|perl-lane&#39;print`ipcrmsem$F[1]`&#39;(其中nobody表示用户名)</pre>
T:0.008410s,M:163.86 KB
返回顶部 留言