Библиотека сайта rus-linux.net
The book is available and called simply "Understanding The Linux Virtual Memory Manager". There is a lot of additional material in the book that is not available here, including details on later 2.4 kernels, introductions to 2.6, a whole new chapter on the shared memory filesystem, coverage of TLB management, a lot more code commentary, countless other additions and clarifications and a CD with lots of cool stuff on it. This material (although now dated and lacking in comparison to the book) will remain available although I obviously encourge you to buy the book from your favourite book store :-) . As the book is under the Bruce Perens Open Book Series, it will be available 90 days after appearing on the book shelves which means it is not available right now. When it is available, it will be downloadable from http://www.phptr.com/perens so check there for more information.
To be fully clear, this webpage is not the actual book.
Next: 13.2 Killing the Selected Up: 13. Out Of Memory Previous: 13. Out Of Memory   Contents   Index
13.1 Selecting a Process
The function select_bad_process()
is responsible for
choosing a process to kill. It decides by stepping through each running
task and calculating how suitable it is for killing with the function
badness()
. The badness is calculated as follows, note that the
square roots are integer approximations calculated with int_sqrt()
;
This has been chosen to select a process that is using a large amount
of memory but is not that long lived. Processes which have been running
a long time are unlikely to be the cause of memory shortage so this
calculation is likely to select a process that uses a lot of memory
but has not been running long. If the process is a root process or has
CAP_SYS_ADMIN
capabilities, the points are divided by four
as it is assumed that root privilege processes are well behaved. Similarly,
if it has CAP_SYS_RAWIO
capabilities (access to raw devices)
privileges, the points are further divided by 4 as it is undesirable to kill
a process that has direct access to hardware.
Next: 13.2 Killing the Selected Up: 13. Out Of Memory Previous: 13. Out Of Memory   Contents   Index Mel 2004-02-15