Dnia czwartek, 1 grudnia 2011 09:46:44 Łukasz Mierzwa pisze:
> Dnia czwartek, 1 grudnia 2011 04:46:25 Roberto De Ioris pisze:
> > No, workers are forked from the master().
> > 
> > Does the memory report you get is from "ps" or from the uwsgi stats
> > server ?
> Both of them, uwsgi stats shows what can be confirmed with htop.
> 
> > In the second case, be sure to have this patch applied:
> > 
> > http://projects.unbit.it/uwsgi/changeset/4b94dbd1c7c3be3622cae0dbb274776
> > 7693 de5b8
> 
> I'm using revision 1740 and this was applied in 1720 so I have this patch,
> and it does work this way as I noticed that:
> 1. during worker reload uwsgi shows that it is using 0 bytes of memory, and
> right after it finishes rss field is back to pre-reload value (this is
> happening with reloads caused by hitting max-requests)
> 2. when I hit "reload bomb" - uwsgi stats are showing that all workers have
> rss field = 0 as they are reloading all the time
> 
> I can reproduce the "reload bomb", it goes like this:
> 
> 1. I start my vassal with django app
> 2. I'm hitting view that is generating avatars for all users with different
> sizes (~8k of unique urls), avatars are generated from user photo so it
> takes some memory, I'm doing 256 concurrent hits using slamd and I suspect
> that with such rate python's garbage collector isn't able to keep up and my
> workers are slowly eating more and more memory
> 3. when any worker hits max-requests it is being reloaded by uwsgi (logs
> show that, pids are changing) but it's memory usage doesn't change
> 4. when workers will eat up enough memory (evil)-reload-as kicks in and
> starts to reload them, but again after reload they continue to eat the same
> amount of memory so they are reloaded again and again
> 
> I'll try to debug this issue more and verify that this in not problem on my
> side so I will let You know.

It's probably related to my chroot'ed setup, I've tested it on other box and 
memory usage for my worker dropped after reload. I've also noticed something 
I've missed before - when I use chroot I don't get deprecation notices from 
python modules thar are being loaded and when I tested it now on diffrent box 
without chroot I get them on every reload. So in chroot new worker has them 
already loaded after fork.
I'll do some more tests to verify that this is indeed chroot issue.

Łukasz Mierzwa
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to