记一次磁盘占满 句柄占用 删除文件 删除句柄

原因 逻辑错误导致日志飙升
df -h 内存百分百
1慌忙中rm 日志文件 发现内存没下来
是不是有其他文件?sort -rn 排序

  • 一级一级找没找到 du --max-depth=1 -h
    2进程占用估计 查看那个进程占用
    还是自己
  • lsof -n | grep deleted
    记一次磁盘占满 句柄占用 删除文件 删除句柄
  • /proc/pid/fd/{pid}/fd/{id}
    记一次磁盘占满 句柄占用 删除文件 删除句柄

解决方法
1 文件没有被删除
echo " “>filename
: > /path/to/the/filename.log
2 文件已经删除了
释放句柄
cat /dev/null > /proc/pid/fd/pid/fd/fd”

“/proc/pid/fd/pid/fd/fd”

参考:https://unix.stackexchange.com/questions/68523/find-and-remove-large-files-that-are-open-but-have-been-deleted

另 补充下逻辑bug查找

1日志不断写入 肯定有进程死循环不停写
jps查看进程
记一次磁盘占满 句柄占用 删除文件 删除句柄

top -H -p 22941看下哪个线程

记一次磁盘占满 句柄占用 删除文件 删除句柄

** printf “%x\n” 打印线程id*
记一次磁盘占满 句柄占用 删除文件 删除句柄

3 jstack 22941 | grep 59ee 找到线程
记一次磁盘占满 句柄占用 删除文件 删除句柄