问题:
rm 删除文件后,df -h 磁盘空间不释放
原因:
一般说来不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程一直在向这个文件写数据等
即:该文件已经建立硬链接
定位:
lsof | grep deleted | grep hive.log
lsof命令:通过这个命令可以获取一个已经被删除但仍然被应用程序占用的文件列表
在最后一列的“deleted”状态,说明这个日志文件已经被删除,但由于进程还在一直向此文件写入数据,空间并未释放。
解决:
kill掉相应的进程,或者停掉使用这个文件的应用(推荐),让os自动回收磁盘空间
反思:
删除正在有进程在运行的文件,请使用 >/tm/hadoop/hive.log 清空命令、而不是rm删除命令,eg:Apache、Hadoop、Tomcat、Nginx等一系列服务
删除(清空)正在运行的应用日志文件内容,最安全、高效的方法:
# >file.log 或 # echo "" > file.log【疑难杂症】rm删除后df磁盘空间不释放
网友评论