运维中出现的怪事

1、 删除一个文件,磁盘没有释放空间?

答: 

原因:文件被进程锁定,或者进程一直在向这个文件写数据。

引申: 文件在文件系统的存放分为数据部分和指针部分;指针存放在meta-data中,删除文件后,指针从meta-data中清除,而数据部分存储在磁盘中。当数据对应的指针从meta-data 清除,文件数据空间可以被覆盖写入新内容。 如出现文件对应的指针被进程锁定,导致不能从 meta-data上清除,系统内核就认为文件并未删除,df 查看空间为释放

处理:  lsof |grep delete 查出已经被删除但仍然被应用程序占用的文件列表, 

           重启进程或者系统,或者在线清空这个文件,如   echo " ">/test.log

           如是日志文件,最好还是做好日志轮转,把日志指定专门的分区

你可能感兴趣的:(linux)