Linux中呈现“No space left on device”错误的排查与办理要领
媒介 最近这两天登岸处事器,发明用 wget 下载文件的时辰提醒“No space left on device”,并且连行使 tab 键举办补全时也会提醒该错误。 之前碰着过一次这种题目,是因为磁盘空间被占满了,导致无法建设新文件。正常环境下,删除一些文件来开释空间,即可办理该题目。 当我行使 df 呼吁查察分区环境时,功效如下: # df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 29G 29G 0 100% / udev 10M 0 10M 0% /dev tmpfs 101M 232K 100M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 405M 0 405M 0% /run/shm 看到这里,我觉得磁盘真的被 100% 占用了,于是就查察了各目次的占用环境: # du -sh /* 8.8M /bin 30M /boot 0 /dev 5.3M /etc 24K /home 0 /initrd.img 205M /lib 4.0K /lib64 16K /lost+found 8.0K /media 4.0K /mnt 4.0K /opt 0 /proc 2.5G /root 232K /run 5.2M /sbin 8.0K /srv 0 /sys 4.0K /tmp 2.6G /usr 1.8G /var 0 /vmlinuz 很明明,总共的磁盘占用完全不到 10G,磁盘理论上并未被占满。 这种环境下,很也许是小文件过多,导致 inode 急剧增进,耗损完 inode 地区的空间。 假如然是云云,那么纵然磁盘空间有剩余,但因为无法建设新的 inode 来存储文件的元信息,也就无法建设新文件。 因此,我用 df 呼吁举办验证: # df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/vda1 1.9M 299K 1.6M 17% / udev 123K 299 123K 1% /dev tmpfs 126K 249 125K 1% /run tmpfs 126K 4 126K 1% /run/lock tmpfs 126K 2 126K 1% /run/shm 可以看到,inode 地区只被占用了一小部门,尚有大量的空间未行使,以是也不是 inode 地区被占满的题目。 到了这里,我的心田长短常忧郁的。这个题目直接导致了Apache、MySql以及其余的一些处事均无法启动,处事器已经根基没法行使了,然而缘故起因却空中楼阁。 最后,处事器提供商汇报我另一种也许的环境,就是有些文件删除时还被其余历程占用,此时文件并未真正删除,只是标志为 deleted,只有历程竣事后才会将文件真正从磁盘中破除。 于是我通过 lsop 呼吁查察了被历程占用中的文件: # lsof | grep deleted mysqld 1952 2982 mysql 5u REG 254,1 0 127 /tmp/ibzMEe4z (deleted) mysqld 1952 2982 mysql 6u REG 254,1 0 146 /tmp/ibq6ZFge (deleted) mysqld 1952 2982 mysql 10u REG 254,1 0 150 /tmp/ibyNHH8y (deleted) apache2 2869 root 9u REG 254,1 0 168 /tmp/.ZendSem.2w14iv (deleted) apache2 2869 root 10w REG 0,16 0 11077 /run/lock/apache2/rewrite-map.2869 (deleted) ... python 3102 root 1w REG 254,1 22412342132 264070 /var/log/nohup.out (deleted) 终于找到了祸首罪魁,原本是在靠山运行的 Python 剧本,绵绵不断地将输出生涯到 /var/log/nohup.out 文件中,文件巨细居然到达了20G+! 前阶段在靠山运行剧本之后,就没再管过它。预计是我在 Python 运行进程中删掉了 nothup.out 文件,因为该文件被占用,以是只能先标志为 deleted,而未真正删除,最后导致磁盘爆满。 这次的教导提示了我,不能将使命简朴放到靠山就放任不管,出格是行使 nohup 呼吁时,全部的输出城市被不绝地添加到统一个文件中,假如该历程不会本身终止,就也许导致输出文件占满整个磁盘。 总结 以上就是这篇文章的所有内容了,但愿本文的内容对各人的进修可能事变能带来必然的辅佐,假若有疑问各人可以留言交换,感谢各人对编程小能力的支持。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |