kernel killing processes when out of swap
aleine at austrosearch.net
Tue Apr 12 11:37:54 PDT 2005
marcolz at stack.nl wrote:
> On Tue, Apr 12, 2005 at 06:46:45PM +0200, Dag-Erling Smrgrav
> > There is no "large process detection". The first process that
> > tries to fault in a new page after the system runs out of swap
> > gets killed.
> Are you suggesting that vm_pageout_pmap_collect() is no longer in
> use ?
> That has a FOREACH_PROC_IN_SYSTEM(p) ... find biggest unlocked
The largest process gets killed in vm_pageout_scan() according to the
1169 * If we are critically low on one of RAM or swap and low on
1170 * the other, kill the largest process. However, we avoid
1171 * doing this on the first pass in order to give ourselves a
1172 * chance to flush out dirty vnode-backed pages and to allow
1173 * active pages to be moved to the inactive queue and reclaimed.
1175 * We keep the process bigproc locked once we find it to keep anyone
1176 * from messing with it; however, there is a possibility of
1177 * deadlock if process B is bigproc and one of it's child processes
1178 * attempts to propagate a signal to B while we are waiting for A's
1179 * lock while walking this list. To avoid this, we don't block on
1180 * the process lock but just skip a process if it is already locked.
1113 * If we are out of swap and were not able to reach our paging
1114 * target, kill the largest process.
WebMail FREE http://mail.austrosearch.net
More information about the freebsd-hackers