1. A method, comprising: maintaining by a processor executable, memory mapped file system a first data structure at a persistent memory having a plurality of memory pages that have been requested only once recently and a second data structure having a plurality of memory pages that have been requested more than once; wherein both the first data structure and the second data structure represent a sequence having a head and a tail; moving by the file system, a page of the second data structure to a head of the second data structure, after the page is requested, and when the page is not requested, the page is moved towards a tail of the second data structure; adding by the file system, a newly requested page to a head of the first data structure and then moving the newly requested page towards a tail of the first data structure, as other requested memory pages are added at the head of the first data structure; transferring by the file system, any memory page from the first data structure to the head of the second data structure that has been requested more than once; removing by the file system a memory page from one or both of the first data structure and the second data structure, when a free pool of pages does not have any available free memory page for any newly requested memory page; wherein memory page removal from the first data structure and the second data structure is based on one of a random policy and a round-robin policy; and wherein when any transparent page is removed from the second data structure, a transparent flag is set to protect the any removed transparent page.