今天看到测试环境忽然不能访问了,提示缓存文件不能写入,后来到服务器看了下,内存占用达到了100%,于是删了一些日志文件,用  df -h  命令看了下,内存占用还是那么多,后来google了下,发现,原来用rm 删除的文件只是把链接解除(unlink),进程仍然可以读取删除的文件,用  lsof  | grep deleted 命令看了下,原来还有进程在用我删除的文件   



解决方法::一个是直接 kill 掉该进程

二是停掉 在用这个文件的进程



我删掉的都是日志文件,用的是 tac 命令查看日志的内容,就直接  kill 掉进程的 pid,再用df -h查看,刚删除的文件占用内存释放






由于服务器内存只有8个G,所以只能看着删这么点东西了,能继续用就可以了,测试环境也不需要太多的东西

Logo

更多推荐