|
yubing
trueice at gmail.com
Tue Jul 3 07:22:34 EDT 2007
oh, sorry, that's my typo in the mail, it should have been:
------------------------------
def pump_file(req):
fp = open("/dev/zero", "r")
while(True):
buf = fp.read(4096)
try:
req.write(buf)
time.sleep(0.1)
except:
fp.close()
break
-------------------------------
you can still observe the memory going up slowly
BTW: I'm using the prefork mpm of apache
On 7/3/07, Graham Dumpleton <graham.dumpleton at gmail.com> wrote:
>
> On 03/07/07, yubing <trueice at gmail.com> wrote:
> > Our project has a live HTTP video streamer written in python, which
> keeps
> > pumping a stream out to the client.
> > The HTTP serving module is a simple mod_python request handler running
> on
> > Apache 2.2.4 with mod_python 3.3.1 (Python 2.5.1).
> > The stream is read out of our streaming server via TCP socket, and the
> > python script just do some simple processing like header building, each
> > allocated buffer is del-ed after being used.
> >
> > The problem is:
> > We observed that after its running serveral hours, its memory occupation
> > grows up to serveral hundreds of megabytes and keeps growing in 4k-8k
> > increment every 1-2 seconds.
> >
> > Below is a simple testing scriptlet, the memory leaking issue is not so
> > serious as our live serving module, but you can still observe 4k memory
> > growing every serveral seconds.
> >
> > Could anyone help me to figure out the root cause of this issue?
> >
> > --------------------------
> > import time
> >
> > def pump_file(req):
> > while(True):
> > fp = open("/dev/zero", "r")
> > buf = fp.read(4096)
> > try:
> > req.write(buf)
> > del buf
> > time.sleep(0.1)
> > except:
> > fp.close()
> > break
>
> BTW, you do realise that you open the file in the loop when it should
> be outside.
>
> Graham
>
--
truly yours
ice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20070703/a6c8cf61/attachment.html
|