linux服务器内存不足排查

  |  

// 查找大于 1G 的文件 查找 opt 下大于 1g 的文件 输出日志保存在/dev/null 中
// find /opt/ -size +1G 2>/dev/null

  1. 使用 df -h 发现磁盘占满 99%

看到是/var/lib/docker/containers/**里面占用了 超大的数据

怀疑是 docker 的镜像日志造成删除镜像日志
docker system prune 命令介绍
发现删除之后仍然占存很大

  1. 通过 命令 lsof -n | grep deleted 查找哪些删除进程在未被注销
    kill -9 进程号

再 df -h 就没问题了,这是因为当我们使用 rm 在 linux 上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么 linux 内核还是不会释放这个文件的磁盘空间

  1. 在 /root 占用空间过大但是又找不到大文件和大目录的问题

    du -sh /root
    在这里插入图片描述

使用 du -sh * 却找不到

du -sh *
在这里插入图片描述

最后换成

du -sh .[!.]*
在这里插入图片描述

找到对应的大文件,删除 在按照第二步查询一次

如果删除的是 pm2 的日志,重启 pm2 也是可以的
pm2 restart all

或者 直接使用命令 pm2 flush 就不需要重启

du -h --max-depth=1 查看文件大小 有点慢

文章目录