相关疑难解决方法(0)

Python多处理 - 如何在进程完成后释放内存?

我在使用python多处理库时遇到了一个奇怪的问题.

我的代码概述如下:我为每个"符号,日期"元组生成一个进程.我之后结合了结果.

我希望当一个进程完成"符号,日期"元组的计算时,它应该释放它的内存吗?显然情况并非如此.我看到几十个进程(虽然我将进程池设置为大小为7),这些进程在机器中被挂起¹.它们不消耗CPU,也不释放内存.

在完成计算后,如何让进程释放其内存?

谢谢!

¹"暂停"我的意思是他们在ps命令中的状态显示为"S +"

def do_one_symbol( symbol, all_date_strings ):
    pool = Pool(processes=7)
    results = [];
    for date in all_date_strings:
        res = pool.apply_async(work, [symbol, date])
        results.append(res);

    gg = mm = ss = 0;
    for res in results:
        g, m, s = res.get()
        gg += g; 
        mm += m; 
        ss += s;
Run Code Online (Sandbox Code Playgroud)

python memory multiprocessing

24
推荐指数
2
解决办法
1万
查看次数

标签 统计

memory ×1

multiprocessing ×1

python ×1