A computer-implemented method of managing memory in a computer comprising: monitoring usage of a primary memory associated with the computer, the primary memory storing memory blocks in a ready state; in response to primary memory usage by the memory blocks in the ready state exceeding a ready state threshold, compressing at least some of the memory blocks in the ready state to form compressed blocks, and storing the compressed blocks in the primary memory, designating the memory blocks with corresponding compressed blocks as being in a ready and compressed state, wherein each of the memory blocks in the ready and compressed state in the primary memory is one of an uncompressed memory block that has a corresponding compressed block also stored in the primary memory; in response to primary memory usage exceeding a release threshold, releasing at least some of the memory blocks in the ready and compressed state while retaining the corresponding memory blocks in the compressed state; and in response to primary memory usage by the compressed blocks exceeding a compressed threshold, transferring at least some compressed blocks to a secondary memory associated with the computer, the memory blocks so stored being referred to as being in an on disk state, and releasing the primary memory in which the at least some compressed blocks were stored. monitoring usage of a primary memory associated with the computer, the primary memory storing memory blocks in a ready state; in response to primary memory usage by the memory blocks in the ready state exceeding a ready state threshold, compressing at least some of the memory blocks in the ready state to form compressed blocks, and storing the compressed blocks in the primary memory, designating the memory blocks with corresponding compressed blocks as being in a ready and compressed state, wherein each of the memory blocks in the ready and compressed state in the primary memory is one of an uncompressed memory block that has a corresponding compressed block also stored in the primary memory; compressing at least some of the memory blocks in the ready state to form compressed blocks, and storing the compressed blocks in the primary memory, designating the memory blocks with corresponding compressed blocks as being in a ready and compressed state, wherein each of the memory blocks in the ready and compressed state in the primary memory is one of an uncompressed memory block that has a corresponding compressed block also stored in the primary memory; in response to primary memory usage exceeding a release threshold, releasing at least some of the memory blocks in the ready and compressed state while retaining the corresponding memory blocks in the compressed state; and in response to primary memory usage by the compressed blocks exceeding a compressed threshold, transferring at least some compressed blocks to a secondary memory associated with the computer, the memory blocks so stored being referred to as being in an on disk state, and releasing the primary memory in which the at least some compressed blocks were stored. transferring at least some compressed blocks to a secondary memory associated with the computer, the memory blocks so stored being referred to as being in an on disk state, and releasing the primary memory in which the at least some compressed blocks were stored.