actor传输过程中会有残余的隐性内存占用,阻碍后续程序运行?怎么彻底清除内存呢?

很久之前 raylet 和 存储的 server 进程确实是分离的,现在它变成 raylet 上的一个线程了

object store 它的存储服务是启动在 raylet 的一个线程上的,object store 这个在设计上就是希望在启动的时候直接从内存里面划掉你配置的 size,然后除非 raylet 死了要不都不还,虽然在实践的时候,由于其不满的情况下,它的空间可能会被其他进程占用

不过我发现我能在 2.3.0 版本上复现了 job结束之后,有个 raylet res - shm > 1.5G 的现象,这个我觉得是不对的,我找时间研究一下为啥,感觉是个 bug,低版本的到是没这个问题

也就是说因为不知名的BUG的原因,导致在传输单个过大的文件的情况下,会有残余的内存占用,且不知道是什么占用?
我本身也就是2.3.0版本配合3.7.6的Python

我在1GB的情况下没有这个情况,你先把size调小先用着

这个事情我觉得至少从设计上来说不应该发生这个事情,我研究一下,是bug我就修了它,如果这个 by design 的话。。。。我就在这里回你

好的,我这里就是1G,2G没事问题,大了就会额外残余。

我在想,这里是否是跟object store memory的超容有关,我两个节点都是2G多一点的OSM,按理来说超过会写入磁盘,我这里实验单节点的ray.put()一个6G大的文件之后没问题,取消引用也正常取消内存占用,但这样双节点传文件似乎就会有这种问题。

后续这个有解决吗? 我也遇到了同样的问题 raylet占用了较大了内存,而且在后续没有释放