最近这两天登陆服务器,发现用wget下载文件的时候提示“没有剩余空间> # df - h 文件系统大小使用效果使用%安装> # du sh/* 8.8米/bin 30米/启动 0/dev 5.3米/等 24 k/家庭 0/initrd.img 205米/lib 4.0 k/lib64 16 k/损失+发现 8.0 k/媒体 4.0 k/mnt 4.0 k/选择 0/proc 2.5克/根 232 k/运行 5.2米/sbin 8.0 k/电脑 0/sys 4.0 k/tmp 2.6克/usr 1.8克/var 0/vmlinuz
很明显,总共的磁盘占用完全不到10 g中,磁盘理论上并未被占满。
这种情况下,很可能是小文件过多,导致inode急剧增加,消耗完inode区域的空间。
如果真是如此,那么即使磁盘空间有剩余,但由于无法创建新的inode来存储文件的元信息,也就无法创建新文件。
# df ih 文件系统索引节点师徒IFree我%安装> # lsof | grep删除 mysqld mysql 5 u REG 254 1952 2982 127 0/tmp/ibzMEe4z(删除) mysqld mysql 6 u REG 254, 1952 2982 146 0/tmp/ibq6ZFge(删除) mysqld mysql 10 u REG 254 1952 2982 150 0/tmp/ibyNHH8y(删除) 输入2869根254 u REG, 1 0 168/tmp/.ZendSem。2 w14iv(删除) 输入2869根10 w REG 0, 16 0 11077/运行/锁定/输入/rewrite-map。2869(删除) … python 3102根1 w注册254,1 22412342132 264070/var/log/nohup.(删除)
终于找到了罪魁祸首,原来是在后台运行Python脚的本,源源不断地将输出保存到/var/log/nohup.从文件中,文件大小居然达到了20 g + !
前阶段在后台运行脚本之后,就没再管过它。估计是我在Python运行过程中删掉了nothup。从文件,由于该文件被占用,所以只能先标记为删除,而未真正删除,最后导致磁盘爆满。
这次的教训提醒了我,不能将任务简单放到后台就放任不管,特别是使用nohup命令时,所有的输出都会被不断地添加到同一个文件中,如果该进程不会自己终止,就可能导致输出文件占满整个磁盘。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。