Linus Torvalds wrote: > > 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 > > There were a couple of big files. I removed a 72Mb one (making 47Mb the biggest one left in the project) and made the push and it worked. I later pulled the project down to a different machine, added the 72Mb file back in, and pushed to the server and it worked. So apparently it's a platform specific problem. If anybody's particularly interested I could replicate it under gdb and pass on any info, but if not I wont ... job's done, Im happy. - 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