磁盘空间不足|删除文件后空间不释放

发布时间 2024-01-09 20:12:57作者: 星空夜影

现象: 磁盘空间不足告警,运维人员手工删除日志文件后,磁盘空间仍旧是没有释放出来

原因: 使用 rm -rf *.log 删除日志文件时, 进程仍旧在往日志文件里面写入数据,删除的文件仍旧被进程虎占用着

解决方法:

(1) 通过 lsof | grep deleted 查出来已经删除未被释放的文件,确定占用这个删除文件的进程ID.

(2) 通过 ll /proc/(查出来的进程ID)/fd | grep 未被释放的文件名 查出来文件句柄号

(3) 清除文件句柄的内容释放空间 echo > /proc/(查出来的进程ID)/fd文件句柄号

此操作不会删除文件,而是将文档内容清空的方法释放空间,文件仍存在

建议处理方法:

清理日志文件使用 echo > xxxx.log

或者是 cp /dev/null xxxx.log

又或者是 >xxx.log

再或者是 truncate -s 0 xxxx.log