Chapter 24

Waiting for Memory

This chapter is a case study of a program that uses lots of memory and triggers paging to disk, which then results in the program sometimes being blocked waiting for memory. The paging dynamics are slightly surprising. Waiting for page-fault disk transfers could be considered either waiting for memory or waiting for disk; we choose to treat it as waiting for memory and treat user file I/O as waiting for disk in the next chapter. As a second example, we briefly look back at the process-startup Mystery 2 from the previous chapter.

From our framework, this chapter is about not running while waiting for memory. A runnable process can wait for memory because (1) the data it wants is paged out, or (2) it needs access ...

Get Understanding Software Dynamics now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.