Multi-terabyte large memory systems are emerging. They are often characterized with more than two memory tiers for large memory capacity and high performance. Those tiers include slow and fast memories with different latencies and bandwidths. Making effective, transparent use of the multi-tiered large memory system requires a page management system, based on which the application can make the best use of fast memories for high performance and slow memories for large capacity. However, applying existing solutions to multi-tiered large memory systems has a fundamental limitation because of non-scalable, low-quality memory profiling mechanisms and unawareness of rich memory tiers in page migration policies. We develop HM-Keeper, an application-transparent page management system that supports the efficient use of multi-tiered large memory. HM-Keeper is based on two design principles: (1) The memory profiling mechanism must be adaptive based on spatial and temporal variation of memory access patterns. (2) The page migration must employ a holistic design principle, such that any slow memory tier has equal opportunities to directly use the fastest memory. We evaluate HM-Keeper using common big-data applications with large working sets (hundreds of GB to one TB). HM-Keeper largely outperforms seven existing solutions by 15%-78%