Re: ARC "pressured out", how to control/stabilize ? (reformatted to text/plain)

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Sun, 05 Jan 2014 13:13:17 +0200
on 04/01/2014 14:50 Vladimir Sharun said the following:
[snip]
> ARC: 28G Total, 2085M MFU, 20G MRU, 29M Anon, 1858M Header, 3855M Other
[snip]
> ITEM                   SIZE  LIMIT     USED     FREE      REQ FAIL SLEEP
[snip]
> zio_data_buf_131072: 131072,      0,  488217,       9,287155442,   0,   0

I noticed a particular discrepancy between reported ARC usage and sizes of UMA
zones used by ZFS code:

488217 * 131072 = ~59GB right there.

There are several possibilities for this discrepancy:
- bad accounting or reporting of ARC stats
- those 128K buffers being used in a special way and thus not accounted as ARC
- some sort of resource leak

You could try to use DTrace to gather the stacks of all code paths that lead to
allocation of those buffers.  Something like:

fbt::zio_data_buf_alloc:entry
/arg0 == 131072/
{
	_at_[stack()] = count();
}

This could be a start for understanding the issue.

-- 
Andriy Gapon
Received on Sun Jan 05 2014 - 10:16:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:46 UTC