From: Carl B. <ca...@bl...> - 2007-02-21 23:57:03
|
Dieter Maurer wrote: > Carl Brewer wrote at 2007-2-21 22:06 +1100: >> Dieter Maurer wrote: >>> Carl Brewer wrote at 2007-2-19 23:08 +1100: >>> This tells you that you Zope has run out of memory -- maybe, some >>> memory leak. >>> >>> There is a product from Shane: "LeakFinder" which facilitates the >>> detection of leaks (though it is still quite a challenge). >> top reports this when it gave me the last memory error : >> >> 3575 zope 2 0 130M 119M select 12:32 5.86% 5.86% >> python2.4 >> >> >> ie: it's using more than 128MB of RAM. I wonder if that's a >> system limit in *BSD? > > Unlikely. > > But (in case you are using the bash), you can check with "ulimit -a" > whether the "virtual memory" is limited for a process. I think it may be a kernel default process limit, but am not 100% sure, as the doco for it is scant at best. >> The box has a gig of ram and a gig of >> swap, and isn't anywhere near the full use of that, and >> the FreeBSD python FAQ talks about FreeBSD kernel tweaks >> and the python stack test, my box passes the python stack and >> the FreeBSD variables differ from NetBSD I suspect. > > "MemoryError" means that Python asked the OS for some memory > and the OS said "no". > > This means, we have to find out why the OS does this (as it still > has plenty of memory). > > Some "ulimit" (see above) could be the reason. Yes, I've had a look through (csh, using limit, not bash, with ulimit, but essentially the same thing), but am not sure of the exact values that would be suitable. I'm probably best off asking on some NetBSD lists rather than here. My current limits are : rollcage2# limit cputime cputime unlimited rollcage2# limit filesize filesize unlimited rollcage2# limit datasize datasize 131072 kbytes rollcage2# limit stacksize stacksize 2048 kbytes rollcage2# limit coredumpsize coredumpsize unlimited rollcage2# limit memoryuse memoryuse 952012 kbytes rollcage2# limit memorylocked memorylocked 317337 kbytes rollcage2# limit maxproc maxproc 160 rollcage2# limit openfiles openfiles 64 rollcage2# limit sbsize sbsize unlimited I suspect it's running into the limit for datasize, which is 128MB, but it may also be memoryuse, I may need to change the values in sysctl, as I think the 'zope' user cannot increase its own memory use limits (not being root ...) and I don't think I can change a limit on another process once it's running? |