发现
突然发现redis不能存进去数据了,导致线上的验证码前端获取不到,然后想着重启一下redis,结果就是报错no space left on device,结果排查发现,有几个文件,居然高达365个G,震惊我一年,然后瞅了瞅,删掉,把进程kill掉,重启就好了
使用命令
df -h或者df - i : 查看磁盘空间,文件大小
从这里可以看到,最下面的那个都用了980G了,利用也是96%
du -sh*: 查看所有子目录大小
然后通过这个命令 一步步的看哪个文件夹明显的大
这个图片是我删除之后的,就通过这个命令一步步进去文件夹,最终找到那几个几百G的文件
删除之后会发现df -h还是没变化,这是因为那个进程还是继续的在占用着磁盘,并没有释放空间
lsof |grep delete 列出当前系统已打开文件,但是deleted的状态
然后可以通过top命令看一下是哪个进程,也可以用ps系列命令看,找到对应的PID,就是上面那个图的第二列,然后看情况把进程kill掉
kill -9 PID
最后,磁盘空间就得到了释放