Swap Usage

Doug Hardie
2015-07-30T08:39:12Z

> 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.