M
Matt Gilarde
Guest
Memory allocations can fail before all of memory is exhausted because over time memory space of a process becomes fragmented as memory is allocated and freed. Eventually you can end up in a situation where there may be, say, a total of 500MB of free memory but the largest contiguous block of free memory is only 20MB or less. At that point an allocation of 21MB will fail even though there is 500MB free.
Continue reading...
Continue reading...