mirror of
https://github.com/opnsense/src.git
synced 2026-06-12 10:10:24 -04:00
Re-enables the RSS limiting, and the routine is now tail-recursive, making it much more safe (eliminates the possiblity of kernel stack overflow.) Also, the RSS limiting is a little more intelligent about finding the likely objects that are pushing the process over the limit. Added some sysctls that help with VM system tuning. New sysctl features: 1) Enable/disable lru pageout algorithm. vm.pageout_algorithm = 0, default algorithm that works well, especially using X windows and heavy memory loading. Can have adverse effects, sometimes slowing down program loading. vm.pageout_algorithm = 1, close to true LRU. Works much better than clock, etc. Does not work as well as the default algorithm in general. Certain memory "malloc" type benchmarks work a little better with this setting. Please give me feedback on the performance results associated with these. 2) Enable/disable swapping. vm.swapping_enabled = 1, default. vm.swapping_enabled = 0, useful for cases where swapping degrades performance. The config option "NO_SWAPPING" is still operative, and takes precedence over the sysctl. If "NO_SWAPPING" is specified, the sysctl still exists, but "vm.swapping_enabled" is hard-wired to "0". Each of these can be changed "on the fly." |
||
|---|---|---|
| .. | ||
| default_pager.c | ||
| default_pager.h | ||
| device_pager.c | ||
| device_pager.h | ||
| kern_lock.c | ||
| lock.h | ||
| pmap.h | ||
| swap_pager.c | ||
| swap_pager.h | ||
| vm.h | ||
| vm_extern.h | ||
| vm_fault.c | ||
| vm_glue.c | ||
| vm_inherit.h | ||
| vm_init.c | ||
| vm_kern.c | ||
| vm_kern.h | ||
| vm_map.c | ||
| vm_map.h | ||
| vm_meter.c | ||
| vm_mmap.c | ||
| vm_object.c | ||
| vm_object.h | ||
| vm_page.c | ||
| vm_page.h | ||
| vm_pageout.c | ||
| vm_pageout.h | ||
| vm_pager.c | ||
| vm_pager.h | ||
| vm_param.h | ||
| vm_prot.h | ||
| vm_swap.c | ||
| vm_unix.c | ||
| vnode_pager.c | ||
| vnode_pager.h | ||