遇到的问题:
项目报错,使用df -h查看磁盘使用情况,发现显示home目录空间已经被使用完
使用du -sh /home查看它的使用量时,发现使用量相比于容量还有一半的剩余
原因:
怀疑是部分文件未释放导致,使用lsof命令进行查看
解决方法:
执行 lsof |grep deleted 发现大量的nohup写入的日志没有释放,这表示它们已经被删除但是未被释放空间的文件,kill 掉进程后,空间恢复正常。
进一步排查,发现是某个springboot项目启动时使用了nohup命令将日志写入后台,未做其他处理,后续规范了程序日志的文件写入和收集
延伸记录:
lsof命令 还可用来查找应用程序打开的文件 lsof -a -p <pid>
查看打开某个文件的应用程序 lsof <文件绝对路径>
查看监听端口的进程 lsof -i:<端口>
搜索正活动的连接 lsof -i @IP地址