Re: more out of memory fun
Brad Miele <[email protected]> Fri, 20 Oct 2006 13:42:54 -0700 (PDT)
| Newsgroups | gmane.comp.web.swish-e |
|---|---|
| Message-ID | <[email protected]> |
:( switching off -e in my incremental build leaves me with the same results as when it is on, namely, indexing just hangs forever at the sorting property phase. I am assuming that it hangs forever, i will leave it there over night and see if it ever does finish. i am also going to try all of this with 2.4.3 mow that i have the memory issue out of the way. so i am left with somewhere between 200K and 700K files, things get wonky. I don't really know where to go from here with regards to incremental. I am willing to try anything though, so any and all ideas will be seriously entertained, even if they involve santaria or voodoo or whatever. Brad --------------------- Brad Miele VP Technology IPNStock.com 866 476 7862 x902 [email protected] On Fri, 20 Oct 2006, Brad Miele wrote: > > it's a 32bit machine :\ > > and the little c scripty returns Max malloc 5 * 100 MB, so that would fit > with the kernel definede 512 limit that Dave alluded to. Since this > machine is not in production yet, i can fiddle with it, and so i may try > adjusting MAXDSIZ via loader.conf and see what that does for me. > > thanks, > > Brad > --------------------- > Brad Miele > VP Technology > IPNStock.com > 866 476 7862 x902 > [email protected] > > On Fri, 20 Oct 2006, Peter Karman wrote: > >> >> >> David L Norris scribbled on 10/19/06 9:44 PM: >> >>> But if your OS and CPU are not both 64-bit (and swish-e also isn't >>> 64-bit) there's probably a hard limit of 2 GB per process. >>> >> >> Brad, Mr Intrepid Hero, is this box a 64-bit machine? Is that version of FreeBSD >> a 64-bit OS? I suspect Dave might be on to something here. I see this issue (2g >> ram limit) frequently right now with one of our db servers, where it's stuck on >> a 32bit machine and runs out of memory even though there's plenty of ram available. >> >> Here's a little C program you can use to test the mem limit on your machine: >> >> ---------------- snip here ------8<------------------------ >> #include <stdio.h> >> #include <stdlib.h> >> >> int main ( void ) >> { >> size_t siz = 100 * 1024 * 1024 ; >> size_t idx = 1 ; >> void *ptr ; >> >> for (;;) >> { >> ptr = malloc ( siz * idx ); >> if ( ! ptr ) >> break ; >> free ( ptr ); >> idx ++ ; >> } >> printf ( "Max malloc %d * 100 MB \n", idx - 1 ); >> return ( 0 ); >> } >> ---------------- snip here ------8<------------------------ >> >> just compile it like: >> >> cc -i checkmem.c -o checkmem >> >> and run: >> >> ./checkmem >> >> that'll tell you how much memory a single process can allocate on your machine. >> >> -- >> Peter Karman . http://peknet.com/ . [email protected] >> >> > >