私有部署解决内存占用过高的究极方法!

分享 私有部署  收藏
7 / 1340

版本 3.1

问题背景:之前用私有部署,从来不清理缓存,结果造成内存占用过高,服务器总是掉线。

尝试过的方法:

  1. 通过 mingdao 的配置文件限制 Redis 的内存占用。有用,但是用处不大, 因为只限制 Redis,时间长了,一样的内存占用就起来了。
  2. 给服务器添加自动清理缓存脚本。有用,但用处不大,因为主要的占用其实是 docker 运行的容器。 给服务器清理缓存只是挠痒痒。
  3. 限制 docker 容器的内存占用。 应该这就是究极方法了。今天刚开始用,还没有经历长测,所以效果后面再持续反馈。

步骤:

  1. docker stats 查看内存占用,找到那个占用特别高的。 一般就两个,一个是明道服务容器,一个是文件预览服务容器。 明道服务容器 3.1 的稳定占用应该在 12G 以上,很多。如图:image.png
  2. 然后用 docker update --memory 14500m --memory-swap -1 容器ID 来限制大小,14500 就是 14.5G 这样基本上我可以留 1G 给服务器,支持 nginx 和其他服务免得掉线。