Linux Memory Management at Scale

  • Stopped around 16:00
  • Many types of memory, anonymous, mmap’ed, buffer/page cache
  • Linux uses a unified page cache
  • RSS (resident set size) is not a great measurement because it ignores caches entirely
  • Swap has an (unfairly) bad reputation, it is generally required for positive memory pressure, and decent page cache perf
  • The Linux kernel can’t easily figure out how much physical memory is free because the MMU hides this (really?), so the OOM killer is not an exact tool