Calculate the portion of RAM used as page cache and its effect on available memory.
Page cache (the Cached field in /proc/meminfo, plus Buffers for block-device metadata) holds recently accessed file data in RAM so repeat reads avoid disk I/O entirely. It grows to fill whatever RAM isn't claimed by applications and shrinks automatically (least-recently-used pages evicted first) when applications need more memory — this is why a healthy Linux system typically shows most of its RAM as 'used' by cache, which is a feature, not a leak.
Page cache total
page_cache = Cached + Buffers
Page cache operates at the OS/filesystem level and caches raw file blocks regardless of what reads them; a database's internal cache (e.g. PostgreSQL's shared_buffers or MySQL's InnoDB buffer pool) caches parsed, structured pages at the application level with knowledge of query patterns. Many systems benefit from both layers working together, though tuning them to avoid excessive double-caching is a common performance exercise.
No — page cache lives entirely in volatile RAM and is lost on reboot or power loss, since it's just a performance optimization over data that already exists safely on disk, not a data store in its own right.
`free -h` shows the aggregate cache size, while tools like vmtouch or fincore can show which specific files currently have pages resident in cache, useful for verifying that a hot dataset is actually cache-resident as expected.