|
Re: malloc, munmap, etc...: msg#00189lib.uclibc.general
Uwe Beutin <uwe@xxxxxxxxxx> writes: > I'm a little confused about the stories I've read about malloc() in the > list. I'm using uClinux-dist-20020927 with the uClibc and running three > applications where I have taken thorough precautions that any > malloc()'ed memory is also free()'d. > > But with time moving on, I can see that the free memory keeps degrading > slowly but surely and at some point (a couple of days, depending) I get > a Kernel Panic (out of Memory) and have to reset. Well, first of all, you should give some more information: * What kernel are you running (in uClinux-dist-20020927 at least, there are two -- 2.0.x and 2.4.x)? What processor architecture? * Which malloc are you using (in your uClibc `Config' file, there's a line that says `MALLOC = ...', which should give that info). * Are your programs continually running, or do they periodically exec new programs and exit etc.? * Are you getting messages on the console like: munmap of non-mmaped memory by process PID (NAME): ADDR I'm not sure what version of uClibc is included in uClinux-dist-20020927 (in fact I didn't even know there _was_ a uClinux-dist-20020927, since the uClinux mailing list is apparently dead :-( ), but there has been at least one important change for uClinux in the `MALLOC = malloc' version of malloc, which could fix a memory leak. On the other hand, if you're using `MALLOC = malloc-simple', then malloc/free calls are translated directly to kernel calls, so your observations would point to a possible kernel bug. It would be useful to have more concrete information about how the process sizes are growing/shrinking (if the process sizes _aren't_ growing and you're still running out of memory, then there's a kernel bug). The version of ps on my uClinux (which I think is the busybox version) doesn't correctly print process memory sizes, but you can see how much memory your processes are using by doing `cat /proc/PID', where PID is the process-id of your process. Anyway, give some more details. Thanks -Miles -- The secret to creativity is knowing how to hide your sources. --Albert Einstein |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | malloc, munmap, etc...: 00189, Uwe Beutin |
|---|---|
| Next by Date: | problem in __dns_lookup (resolv.c): 00189, Cho, Seong-Myun |
| Previous by Thread: | malloc, munmap, etc...i: 00189, Uwe Beutin |
| Next by Thread: | Re: malloc, munmap, etc...: 00189, Miles Bader |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |