Swap Usage

Doug Hardie bc979 at lafn.org
Thu Jul 30 08:39:16 UTC 2015

> On 29 July 2015, at 23:44, Peter Jeremy <peter at rulingia.com> wrote:
> [reformatted]
> On 2015-Jul-29 17:41:33 -0700, Doug Hardie <bc979 at lafn.org> wrote:
>> I have several FreeBSD 9.3 systems that are using swap and I can’t
>> figure out what is doing it.  The key system has 6GB swap and
>> currently it has over 2GB in use.
> Is the system currently paging (top(1) and "systat -v" will show
> this)?  If not, this just means that at some time in the past, the
> system was under memory pressure and paged some process memory out.
> Since then, that memory hasn't been touched so the system hasn't paged
> it in.
>> ps shows only a kernel module
>> [intr] with a W status.
> 'W' means the whole process is 'swapped' out - this will only occur
> under severe RAM pressure.  Normally, the system will just page out
> inactive parts of a processes address space - and none of the ps flags
> will show this.
>> How do I figure out what that swap space is being used for?
> I don't think this can be trivially done.  "procstat -v" will show
> the number of resident pages within each swap-backed region, any
> pages in that region that have been touched but are not resident
> are on the swap device but any pages that have never been touched
> aren't counted at all.

Bingo.  procstat shows the problem.  The process that I suspected has a large number of entries like:

  650        0x834c00000        0x835800000 rw-    0    0   1   0 ---- sw 
  650        0x835800000        0x835c00000 rw-    0    0   1   0 ---- sw 
  650        0x835c00000        0x837c00000 rw-    1    0   1   0 ---- sw 

I don’t know whats in those areas yet.  If I were to kill the process with SIGABRT would the core dump show those areas?  I might be able to figure out what they are from that.

Thanks for the pointer.

More information about the freebsd-stable mailing list