1. A method, comprising: receiving, at a hardware memory management module, a memory allocation message for each primary memory allocation in a primary memory made by a primary processor; allocating, within a second memory in response to each memory allocation message, a representation of each primary memory allocation; determining, based upon the allocated representations of each primary memory allocation within the second memory, to free a primary memory allocation in the primary memory; and sending a memory free message to the primary processor instructing the primary processor to free the primary memory allocation in the primary memory.