任务结束后内存并未释放

如图,在我的项目中有四个通过Threads.@spawn生成的任务,任务执行时占用内存大约是1800Mb-2400MB之间。
但是当我通过某些命令让四个任务终止结束后,内存并未释放,维持在1800MB-1900MB附近。实际语法类似下面:

function test()
  ...
  task1 = Threads.@spawn function1
  task2 = Threads.@spawn function2
  task3 = Threads.@spawn function3
  task4 = Threads.@spawn function4
  return [task1l; task2; task3; task4]
end
t = test()

请问这是什么原因造成的呢,有没有类似删除任务能够把done状态的任务删除。

t有删掉吗,没有的话可以尝试t=nothing

尝试后内存开销并没有变化

再调用一次GC.gc()试试?刚在本地测试了下

1 个赞

可以了,调用后瞬间回到1500MB附近左右,实际我初始化那些函数也有1400+MB了,现在应该是正常的内存,谢谢了