Re: PQ_LAUNDRY: unexpected behaviour

From: Matthew Macy <mmacy_at_nextbsd.org>
Date: Wed, 04 Jan 2017 21:17:24 -0800
 ---- On Mon, 02 Jan 2017 06:01:50 -0800 Jonathan Anderson <jonathan_at_freebsd.org> wrote ---- 
 > Hi all, 
 >  
 > I'm seeing some unexpected PQ_LAUNDRY behaviour on something fairly close 
 > to -CURRENT (drm-next-4.7 with an IFC on 26 Dec). Aside from the use of 
 > not-quite-CURRENT, it's also very possible that I don't understand how the 
 > laundry queue is supposed to work. Nonetheless, I thought I'd check whether 
 > there is a tunable I should change, an issue with the laundry queue itself, 
 > etc. 
 >  
 > After running X overnight (i915 can now run overnight on drm-next-4.7!), I 
 > end up with a little over half of my system memory in the laundry queue and 
 > a bunch of swap utilization. Even after closing X and shutting down lots of 
 > services, I see the following in top: 


Please try the drm-next branch now. Up until very recently, the shrinkers responsible for culling ttm/gem allocations were never run. I've now implemented the shrinker, but it's driven from vm_lowmem, so you'll probably still see what looks like a leak until you hit low memory conditions. The shrinker should probably be run from uma_timeout, but there isn't an eventhandler for that and I haven't looked any further.

-M






 > Mem: 977M Active, 31M Inact, 4722M Laundry, 1917M Wired, 165M Free 
 > ARC: 697M Total, 67M MFU, 278M MRU, 27K Anon, 22M Header, 331M Other 
 > Swap: 4096M Total, 2037M Used, 2059M Free, 49% Inuse 
 >  
 >   PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU 
 > COMMAND 
 >   911 root          1  52    0 57788K  4308K select  1   0:00   0.00% sshd 
 >   974 root          1  20    0 43780K     0K wait    2   0:00   0.00% 
 > <login> 
 >  1406 jon           1  20    0 33520K  2748K select  0   0:04   0.00% 
 > gpg-agent 
 >  2038 jon           1  20    0 31280K  5452K ttyin   3   0:18   0.00% zsh 
 >  1251 jon           1  22    0 31280K  4500K pause   3   0:02   1.46% zsh 
 >  7102 jon           1  20    0 31280K  3744K ttyin   0   0:00   0.00% zsh 
 >  1898 jon           1  20    0 31280K  3036K ttyin   1   0:00   0.00% zsh 
 >  1627 jon           1  21    0 31280K     0K pause   0   0:00   0.00% <zsh> 
 > 22989 jon           1  20    0 31152K  6020K ttyin   1   0:01   0.00% zsh 
 > 22495 jon           1  49    0 31152K  6016K ttyin   0   0:02   0.00% zsh 
 >  1621 jon           1  20    0 28196K  8816K select  2   0:40   0.00% tmux 
 >  6214 jon           1  52    0 27008K  2872K ttyin   1   0:00   0.00% zsh 
 >  6969 jon           1  52    0 27008K  2872K ttyin   3   0:00   0.00% zsh 
 >  6609 root          1  20    0 20688K  4604K select  1   0:00   0.00% 
 > wpa_supplicant 
 >   914 root          1  20    0 20664K  5232K select  2   0:02   0.00% 
 > sendmail 
 >   917 smmsp         1  20    0 20664K     0K pause   0   0:00   0.00% 
 > <sendmail> 
 > 24206 jon           1  23    0 20168K  3500K CPU0    0   0:00   0.00% top 
 >   921 root          1  20    0 12616K   608K nanslp  1   0:00   0.00% cron 
 > ``` 
 >  
 > Are there any things I could do (e.g., sysctls, tunables) to figure out 
 > what's happening? Can I manually force the laundry to be done? `swapoff -a` 
 > fails due to a lack of memory. 
 >  
 > Thanks, 
 >  
 >  
 > Jon 
 > --  
 > jonathan_at_FreeBSD.org 
 > _______________________________________________ 
 > freebsd-current_at_freebsd.org mailing list 
 > https://lists.freebsd.org/mailman/listinfo/freebsd-current 
 > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" 
 > 
Received on Thu Jan 05 2017 - 04:17:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:09 UTC