笔记:linux删除文件后空间未释放

文章讨论了在Linux或Unix系统中,删除nginx访问日志文件时,若文件被进程占用,会导致空间未释放。作者提供了通过lsof查看占用信息,以及重启服务器、杀死进程或使用`echo`命令间接清理的方法来解决问题。
摘要由CSDN通过智能技术生成

说明
在一次系统根目录满100%后,删除某文件,发现空间未释放

未释放磁盘空间的原因:

在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的文件夹结构上解除链接(unlink),然而假设文件是被打开的(有一个进程正在使用),那么进程将仍然能够读取该文件,磁盘空间也一直被占用。而我删除的是nginx的访问日志文件,在删除的时候该文件正在被使用。

查看已删除文件确仍被进程占用的信息

[root@BQBB-DB01 ~]#  lsof |grep deleted
mysqld_sa 16877              root    2u      CHR              136,2          0t0          5 /dev/pts/2 (deleted)
mysqld    17354             mysql    5u      REG              253,0            0    1441839 /tmp/ibimGkAr (deleted)
mysqld    17354             mysql    6u      REG              253,0            0    1441906 /tmp/ibylR0jL (deleted)
mysqld    17354             mysql    7u      REG              253,0            0    1441919 /tmp/ib4aAH34 (deleted)
mysqld    17354             mysql    8u      REG              253,0            0    1441920 /tmp/ibaTMg4J (deleted)
mysqld    17354             mysql   12u      REG              253,0            0    1441921 /tmp/ibSEc1S5 (deleted)
mysqld    17354             mysql   53u      REG              253,0            0    1441818 /tmp/MLYzlgH8 (deleted)
mysqld    17354             mysql   98u      REG              253,0            0    1441929 /tmp/ML1k1i31 (deleted)
mysqld    17354             mysql  105u      REG              253,0            0    1441934 /tmp/MLQdThXo (deleted)
mysqld    17354             mysql  975u      REG              253,0            0    1441933 /tmp/MLKYmlB3 (deleted)

根据之前删除的文件,查到对应的信息。

释放资源:
1,重启服务器
2,杀掉对应进程,或者停掉对应的应用,让操作系统自己主动回收磁盘空间(根据文件大小时间不一)
3,对需要清理的文件不直接删除,使用echo “” > xxx.log的方式进行清理

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值