UMA caches draining

Alexander Motin mav at FreeBSD.org
Tue Jan 7 00:51:15 UTC 2014


Hi.

I have some questions about memory allocation. At this moment our UMA 
never returns freed memory back to the system until it is explicitly 
asked by pageout daemon via uma_reclaim() call, that happens only when 
system is quite low on memory. How does that coexist with buffer cache 
and other consumers? Will, for example, buffer cache allocate buffers 
and be functional when most of system's memory uselessly consumed by UMA 
caches? Is there some design how that supposed to work?

I've made an experimental patch for UMA 
(http://people.freebsd.org/~mav/drain_unused.patch) to make it every 20 
seconds return back to the system cached memory, unused for the last 20 
seconds. Algorithm is quite simple and patch seems like working, but I 
am not sure whether I am approaching problem from the right side. Any 
thoughts?

-- 
Alexander Motin


More information about the freebsd-hackers mailing list