我正在尝试运行一些Selenium代码,由于网络请求失败,该代码过了一会儿就会出错。因此,我尝试运行3个不同的进程,这些进程在10分钟后重新启动。但是几个小时后,它告诉我没有记忆了。因此,我开始研究htop中的用法,当我将时间间隔降低到大约10秒时,内存消耗更快。我试图看看我能做些什么来确保不会发生这种情况。我有一个脚本,我在每个进程中都在运行,并且也想终止它,释放它的所有资源,然后重新启动它。
procs = []
while(True):
for i in range(numProcs):
procs.append(Process(target = run, args = (lock, )))
if procs[i].is_alive() == False:
procs[i].start()
print(procs[i].pid)
time.sleep(60*10)
for i in range(numProcs):
procs[i].terminate()
print("terminating process")
procs = []
我已经捆绑删除列表中的各个进程,这是第三个for循环。知道那是行不通的。
当我杀死管理进程的主脚本时,我相信会释放内存。我的交换分区仍然满了。
重启机器是我唯一能解决的问题。