解决CentOS删除文件后但空间没有释放

解决CentOS删除文件后但空间没有释放

一、问题描述:

zabbix监控报警,磁盘空间不足登陆服务器上查看发现使用率不足20%,但清理完垃圾日志以后磁盘空间还是没有释放

以下是处理未释放空间的步骤

二、操作步骤

1、查看磁盘空间

[root@Test ~]# df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      ext4      212G   121G  187G   81% /
devtmpfs       devtmpfs  8.4G     0  8.4G   0% /dev
tmpfs          tmpfs     8.4G     0  8.4G   0% /dev/shm
tmpfs          tmpfs     8.4G  353k  8.4G   1% /run
tmpfs          tmpfs     8.4G     0  8.4G   0% /sys/fs/cgroup
tmpfs          tmpfs     1.7G     0  1.7G   0% /run/user/0

2、安装lsof命令

[root@Test ~]# yum -y install lsof

3、查看删除文件被占用的具体情况

[root@Test ~]# lsof -n /var |grep deleted
rsyslogd  30875       root 6w  REG  253,1 138963758090    1313835 /var/log/haproxy/haproxy.log (deleted)
in:imjour 30875 30877 root 6w  REG  253,1 138963757315    1313835 /var/log/haproxy/haproxy.log (deleted)
in:imudp  30875 30878 root 6w  REG  253,1 138963757315    1313835 /var/log/haproxy/haproxy.log (deleted)
rs:main   30875 30879 root 6w  REG  253,1 138963758090    1313835 /var/log/haproxy/haproxy.log (deleted)
[root@Test ~]# lsof -n /var |grep deleted|awk '{print $2}'
30875
[root@Test ~]# lsof -n /var |grep deleted|awk '{print $2}'|xargs kill -9
[root@Test ~]# lsof -n /var |grep deleted
[root@Test ~]# df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      ext4      212G   15G  187G   7% /
devtmpfs       devtmpfs  8.4G     0  8.4G   0% /dev
tmpfs          tmpfs     8.4G     0  8.4G   0% /dev/shm
tmpfs          tmpfs     8.4G  353k  8.4G   1% /run
tmpfs          tmpfs     8.4G     0  8.4G   0% /sys/fs/cgroup
tmpfs          tmpfs     1.7G     0  1.7G   0% /run/user/0

kill掉相应的进程,或者停掉使用这个文件的应用,让os自动回收磁盘空间

我这个环境有很多进程在使用的这个文件,停掉进程有点麻烦,再有就是风险很大

当linux打开一个文件的时候,Linux内核会为每一个进程在/proc/ 『/proc/nnnn/fd/目录(nnnn为pid)』建立一个以其pid
为名的目录用来保存进程的相关信息,而其子目录fd保存的是该进程打开的所有文件的fd(fd:file descriptor)。

kill进程是通过截断proc文件系统中的文件可以强制要求系统回收分配给正在使用的的文件。
这是一项高级技术,仅到管理员确定不会对运行中的进程造成影响时使用。应用程序对这种方
式支持的并不好,当一个正在使用的文件被截断可能会引发不可预知的问题

lsof -n / | grep deleted | awk ‘{print $9, $7}’ | sort -k2 -n

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值