On Fri, 13 Apr 2007, Alan Larkin wrote: > > Its not a huge push Im trying to do here (<about 150Mb) but always malloc fails! Any huge objects? Also, it might be interesting to run it under gdb, and put a breakpoint on the "die" function, so that it stops where it runs out of memory. Then. at that point, you can: - do a "where" in gdb to see what allocation it is (and ask it how big it was by printing out the value of "size"). It may be something totally uninteresting (just some random object that happened to push things over the limit), but statistically, malloc failures tend to happen to big objects, and sometimes just because somebody needed a huge area that won't fit in the virtual address space. - check with "ps" what the size of the process is. Maybe you even just have some process limit set that causes brk/mmap to return failure earlier than necessary.. (It can also be interesting to look at /proc/<pid>/maps, in case there are big mmaps that fill up the VM etc) Sometimes it's also a good idea to have a swap file. You may not even *need* to actually page, but it gives thew VM layer much more freedom, especially if your distro has set the flags to disable memory "overcommit". Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html