清理磁盘日志后发现并未正常释放

本文介绍了一种排查Linux系统磁盘空间被占用的方法,并通过具体案例展示了如何定位到因进程持续写入已删除文件导致的空间无法释放的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查看磁盘占用情况

$ df -h

2、查看占用的目录结构

$ du -sh *

发现文件目录占用并不是很多,可磁盘依旧100%,怀疑可能未能正常释放。

3、查看未正常删除的文件

$ lsof | grep deleted
$ sudo apt-get install lsof  #lsof不存在就安装下好了
$ lsof | grep deleted  #再看下呢
java      29706 29954           sc    1w      REG                8,3   6395798818 11013600 /home/sc/tomcat/tomcat-56080/logs/catalina.out (deleted)
java      29706 29954           sc    2w      REG                8,3   6395798818 11013600 /home/sc/tomcat/tomcat-56080/logs/catalina.out (deleted)
java      29706 29954           sc    7w      REG                8,3         5455 11013224 /home/sc/tomcat/tomcat-56080/logs/catalina.2018-06-22.log (deleted)
java      29706 29954           sc    8w      REG                8,3          665 11013225 /home/sc/tomcat/tomcat-56080/logs/localhost.2018-06-22.log (deleted)
java      29706 29954           sc    9w      REG                8,3            0 11013226 /home/cs/tomcat/tomcat-56080/logs/manager.2018-06-22.log (deleted)
java      29706 29954           sc   10w      REG                8,3            0 11013227 /home/sc/tomcat/tomcat-56080/logs/host-manager.2018-06-22.log (deleted)
java      29706 29954           sc   56w      REG                8,3          720 11015316 /home/sc/tomcat/tomcat-56080/logs/localhost_access_log.2018-06-26.txt (deleted)

看到很多很多log未能正常清理,kill 掉吧。

原因:在删除一个非静态文件时,因为有进程在不停地写,导致打开的句柄,写入到了一个无效的文件(被删除),从而引起句柄未能释放。

正确姿势:

$ echo > /home/sc/xxx/catalina.out

#或

$ echo ""  > /home/sc/xxx/catalina.out

#或

$ echo /dev/null > /home/sc/xxx/catalina.out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值