Linux memory management uses a combination of physical memory, virtual memory, and paging. It uses a buddy system to allocate and free physical memory pages. Each Linux process gets 3GB of virtual address space, with the remaining 1GB reserved for page tables and kernel data. Linux uses demand paging and maintains lists of frequently and infrequently used pages. It employs a clock replacement algorithm and uses both local and global page replacement policies.