第一次碰到这个问题是着实有点儿迷茫。df -h显示服务器已满,实际确实也写不进任何东西了。但是逐一检查服务器上的应用日志文件,所占内存都不大。顿时有种无从下手的感觉。
后来问了运维,才知道是因为有人在进程没关的情况下,强行删除了文件,例如nohup.out等,删除之后其实还一直不断往里写入文件。一旦明白原因,解决方法其实很简单如下:
1. lsof | grep delete > delete.log //找出delete记录,导入delete.log
2. cat delete.log | awk '{print $2}'| uniq // 相应的进程号
3. kill -9 第二步找出的进程号
这样操作完,再df -h,绝对神清气爽