执行完定时任务后,内存占用依然很大

下图是DolphinDB中内存占用情况统计:

attachments-2023-01-0tvVC5e763be097bacc08.png

pnodeRun(objs),pnodeRun(objs{true})都返回空表
pnodeRun(clearAllCache)也无效。如何才能释放内存?
请先 登录 后评论

1 个回答

wale

若节点内存接近 warningMemSize,通过函数 clearAllCache() 来手动释放节点的缓存数据。如果内存占用仍然未显著降低,请依次排查下述问题:

  • 通过函数 getSessionMemoryStat() 结合 objs() 和 objs(true) 排查是否某个用户忘记 undef 了变量 ;

  • 通过函数 getRecentJobs() 和 getConsoleJobs() 查看是否还有超过预期运行时长的后台或交互任务。运行中的任务的内存占用不反映在 getSessionMemoryStat() ;

  • getStreamingStat() 查看流数据内存占用

    详见 https://gitee.com/dolphindb/Tutorials_CN/blob/master/memory_management.md#321-%E7%9B%91%E6%8E%A7%E6%98%BE%E7%A4%BA%E8%8A%82%E7%82%B9%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8%E5%A4%AA%E9%AB%98-

请先 登录 后评论
  • 1 关注
  • 0 收藏,711 浏览
  • Jason 提出于 2023-01-11 08:56