【问题标题】:Memory leak issue : ray + docker + fastapi内存泄漏问题:ray + docker + fastapi
【发布时间】:2021-12-30 05:19:56
【问题描述】:

当我在 docker 容器中使用 ray.init() 初始化 ray 时,内存使用量会随着时间的推移而增加(docker stats 中的内存使用量增加)并且当内存超过限制时容器会死掉(只有 ray.init() 会导致此问题)

另外,当 ray.init 时产生了太多重复的进程。 (RAY:IDLE, ray dashboard, 一些与ray相关的进程) 我用官方 ray 图片转载了这个问题:https://pypi.org/project/ray/#history

P.S:我们的用例是 docker 容器、fastapi 调度程序和 ray 的组合。 (即:我们初始化 ray 实例一次,并在每个预定义的循环中执行 ray.put、ray.get。)

让我分享我的测试设计模式来重现这个问题。

ray.init(num_cpus=4,dashboard_host='0.0.0.0',dashboard_port=8888, configure_logging=False)

app = FastAPI()
@app.on_event("startup")
@repeat_every(seconds=1, raise_exceptions=True)
@app.get("/test")
def test():
     dd = []
     bb = ray.put(dd)

     fut = []
     for i in range(10):
          fut.append(aa.remote(bb))
     ss = ray.get(fut)

@ray.remote
def aa(ss):
    a = np.random.rand(380,640)
    ss.append(a)
    return ss

【问题讨论】:

    标签: docker fastapi ray


    【解决方案1】:

    这无助于解决您的问题,但您的问题可能与 https://github.com/tiangolo/fastapi/issues/1624 FastApi 和 Docker 似乎存在内存泄漏问题有关

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-28
      相关资源
      最近更新 更多