python脚本内存占用过大的解决
上一篇 /
下一篇 2015-01-30 10:04:26
/ 个人分类:python
from multiprocessing import Process
import telnetlib
import time
commands = "get "
count = 0
def telnetDo(num):
tn = telnetlib.Telnet('xxxxx',7777)
for i in range(50000000):
tn.write(commands+"\r\n")
temp = tn.read_some()
print "telnetDo-"+str(num)+":"+temp[15:36]
jobs = []
for i in range(8):
p = Process(target=telnetDo,args=(i,))
jobs.append(p)
time.sleep(1)
p.start()
================
以上的脚本在执行时每个进程占用1G多的内存,导致服务器卡顿。并且执行效率不高。
解决方法:将rang改成xrange
因为rang是list,python在执行时会直接划一块内存来使用,而xrange是采用生成器 一个一个的执行。修改之后每个进程的占用内存数稳定在5M左右。内存占用降低的很明显
收藏
举报
TAG: