What Is External Fragmentation?

External fragmentation is a memory issue that occurs when the allocator leaves sections of unused memory blocks between portions of allocated memory. For example, let's say the allocator assigns several memory blocks in a continuous line. If one of the middle blocks is freed because the process that was using it stopped running, the free block becomes fragmented.

An externally fragmented block is still available for use by the allocator, but only if there's a need for memory that fits inside that block. The isolated block is unusable for larger memory needs and cannot be lumped back in with the total free memory.

See also Internal Fragmentation.