文件句柄未释放,磁盘占用问题

背景:收到zabbix监控,线下某台机器磁盘告警

登录服务器,在根路径查看目录大小

文件句柄未释放,磁盘占用问题

发现占用大小跟已使用量空间不一致,想到可能是某个文件句柄未释放导致

查看还在使用的文件句柄:lsof |grep -i deleted

文件句柄未释放,磁盘占用问题

 上面标红是之前为了分析问题执行的抓包命令,可疑。

直接把进程干掉:kill 14867

再次查看磁盘空间大小:

文件句柄未释放,磁盘占用问题

 磁盘空间已释放,问题解决。

查了下,可通过清空文件描述符文件清除,这样可以应对某些服务正在运行时需要处理的情况:

# 清空fd
> /proc/${pid}/fd/${id}
# 或直接调用truncate命令
truncate -s 0 /proc/${pid}/fd/${id}