gpt4 book ai didi

multithreading - sidekiq什么时候结束进程,从而释放内存?

转载 作者:行者123 更新时间:2023-12-03 13:03:52 25 4
gpt4 key购买 nike

从我对Ruby内部工作原理的了解中,它仅在进程完成后才释放内存。

我正在调试一个运行时间很长的sidekiq Heroku进程,该进程存在内存问题,并且试图找出后台进程的边界。

所以...说我有使用3个线程的sidekiq,并且它一次运行3个作业,我总共有100个作业。这意味着工作之间可能永远不会中断,对吧?这是否意味着在完成所有100个作业之前不会释放内存?我假设是的,直到100完成后才会发布。

但是说我切换到1个线程,并且100个作业彼此接连运行。现在每个作业都是它自己的进程,还是sidekiq将所有这100个排队的作业视为一个进程(即使一次只运行一个)?

如果是这样,是否有一种方法可以使每个作业成为自己的独立进程,完成后会释放内存?

最佳答案

Ruby使用垃圾回收来回收内存。它释放内存的速度比您想象的要快得多。另请参阅https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting#memory-bloat

关于multithreading - sidekiq什么时候结束进程,从而释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com