Capacity Planning and Performance Enhancement with Page Reference Sampling
summary
Shows how Solaris /proc page data yields per-page read/write sampling without kernel patches and introduces two tools: wssts (periodic working-set counts) and prsample (per-page samples + plots). Finds RSS 1.4–1.8 GB but RSS_PRIVATE only 400–750 MB, pages are 8 KB, and a 2-minute poll stabilizes counts. Rearranging text pages shrinks referenced text by two thirds and speeds the program. Increasing worker pool size lowers per-process page refs, letting hosts run more workers without linear memory growth.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:22Outline
- 4:26Software & Systems: Then vs Now
- 6:36Available on Solaris via /proc/pid/pagedata
- 7:50How is this done?
- 13:31Counting page references with wssts
- 18:14Example: looking at crwrkr with wssts (cont'd)
- 24:16Example: prsample
- 27:53Plotting Page References plotpr.tk
- 30:06Counting Page References Over Time
- 33:18Predicting Page Fragmentation
- 36:21What about Linux?
- 38:45In Closing...
related talks
44mLarge Pages in Linux
41mAre you out of memory, or have plenty to spare?
39mMM101: Introduction to Linux Memory Management
30mFlexible Paging in Linux: Per-process Page Size
51mLinux Systems Performance - Architecture
45mUsing hardware hints for optimal page placement
48mProfiling data structures
46mDAMON Current Status and Future Plans
