python内存消耗大吗_使用进程的Python多处理:消耗大量内存

我从一个python代码运行多个进程:

代码段:while 1:

if sqsObject.msgCount() > 0:

ReadyMsg = sqsObject.readM2Q()

if ReadyMsg == 0:

continue

fileName = ReadyMsg['fileName']

dirName = ReadyMsg['dirName']

uuid = ReadyMsg['uid']

guid = ReadyMsg['guid']

callback = ReadyMsg['callbackurl']

# print ("Trigger Algorithm Process")

if(countProcess < maxProcess):

try:

retValue = Process(target=dosomething, args=(dirName, uuid,guid,callback))

processArray.append(retValue)

retValue.start()

countProcess = countProcess + 1

except:

print "Cannot Run Process"

else:

for i in range(len(processArray)):

if (processArray[i].is_alive() == True):

continue

else:

try:

#print 'Restart Process'

processArray[i] = Process(target=dosomething, args=(dirName,uuid,guid,callback))

processArray[i].start()

except:

print "Cannot Run Process"

else: # No more request to service

for i in range(len(processArray)):

if (processArray[i].is_alive() == True):

processRunning = 1

break

else:

continue

if processRunning == 0:

countProcess = 0

else:

processRunning = 0

在这里,我从队列中读取消息并创建一个进程来对该消息运行算法。我把maxProcess设为上限。因此,在到达maxproces之后,我希望通过检查is_alive()来重用没有活动的processArray插槽。在

对于较小数量的进程来说,这个进程运行得很好,但是对于大量的消息(比如100条),内存消耗会急剧增加。我想我是因为重复使用进程槽而泄漏的。在

不确定过程中什么是错的。在

提前感谢您发现错误或明智的建议。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值