爲什麼python線程消耗這麼多內存?爲什麼python線程消耗這麼多內存?
我測量出產生一個線程會消耗8M內存,幾乎和全新的python進程一樣大!
操作系統:Ubuntu的10.10
編輯:由於大衆需求,我會給一些外來的例子,那就是:
from os import getpid
from time import sleep
from threading import Thread
def nap():
print 'sleeping child'
sleep(999999999)
print getpid()
child_thread = Thread(target=nap)
sleep(999999999)
在我的盒子,PMAP PID會給9424K
現在,讓我們運行子線程:
from os import getpid
from time import sleep
from threading import Thread
def nap():
print 'sleeping child'
sleep(999999999)
print getpid()
child_thread = Thread(target=nap)
child_thread.start() # <--- ADDED THIS LINE
sleep(999999999)
現在pmap pid會給出17620K
所以,對於額外的線程成本17620K - 9424K = 8196K
即。 87%運行全新的獨立流程!
現在是不是隻是,錯了?
任何人都無法回答這個問題,除非你給我們一些你想要做什麼和怎麼做的想法。碼?使用示例?輸入數據? – jathanism 2011-04-12 14:16:35
請參閱http://stackoverflow.com/questions/110259/python-memory-profiler – 2011-04-12 14:17:43
哪個操作系統? – vartec 2011-04-12 14:18:39