疑难杂症 | rm删除后df磁盘空间不释放
点击上方蓝色字体,星标置顶哦~
目前10000+人已关注加入我们
问题
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
真爱粉,记得星标或置顶哦!点个[在看]吧~
!据说喜欢分享的,后来都成了大神 !