简介
系统盘查看文件占用空间不多,但是显示资源已使用100%,可能是活跃的进程正在写入的文件被删除了。
- 查看存储空间,发现内存已用100%
df -h
- 查看对应路径资源占用情况
cd /
du -sh *
提示类似于:
du: 无法访问 ‘proc/1652/task/41542/fdinfo/14’: 没有那个文件或目录
3. 将以下代码保存为xxx.sh,并运行
#!/bin/bash
#$2是pid,进程id
for i in `lsof -n | grep deleted|awk '{print $2}'`
do
cd /proc/$i/fd/
#$9是fd,指代文件
for j in `ls -l | grep deleted | awk '{print $9}'`
do
echo " " > $j
done
done
- 再次查看内存,df -h
注意
如果想清理多余的日志文件,可以像脚本中用echo置空,否则活跃的进程不会释放资源。
另一种做法是逐个找到相关的活跃进程并重启