Page MenuHomeFreeBSD

Modify the vm.panic_on_oom sysctl to take a count of events
ClosedPublic

Authored by jtl on Mon, Feb 10, 3:21 PM.

Details

Summary

Currently, the vm.panic_on_oom sysctl is a boolean. If set to 0, the VM system kills the largest process. If set to any other value, the VM system panics.

This change makes it a count of events. If set to 0, the VM system kills the largest process. If set to any other value, the VM system will kill the largest process until it has seen the specified number of out-of-memory events. Once it reaches the specified number of events, it will panic.

This change is helpful in capturing cores when the system is in a perpetual cycle of out-of-memory events (as opposed to just hitting one or two sporadic out-of-memory events).

Test Plan

Run on a system. Induce memory pressure. Ensure the system panics after the specified number of events. (This tested correctly.)

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jtl created this revision.Mon, Feb 10, 3:21 PM
kib accepted this revision.Mon, Feb 10, 4:30 PM
This revision is now accepted and ready to land.Mon, Feb 10, 4:30 PM
This revision was automatically updated to reflect the committed changes.