My C++ program allocates memory in the heap to the order of 1.64 GB. Under task manager performance, it quotes free physical memory at 2.43 GB. If I allocate anything over 1.64 GB, I receive a runtime error of "bad alloc". What is using the 0.79 GB and how do I squeeze extra memory for my programme? I get a feeling the rabit hole goes alot deeper than merely looking at the two memory figures quoted above.