Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Feb 2014 17:02:16 +0400
From:      Dmitry Sivachenko <trtrmitya@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        jeff@freebsd.org, freebsd-stable@freebsd.org, Ronald Klop <ronald-lists@klop.ws>
Subject:   Re: Processes are incorrectly marked as swapped out
Message-ID:  <DB219A6F-EFA9-46B9-BA18-CE17A4F0D210@gmail.com>
In-Reply-To: <201401281142.10317.jhb@freebsd.org>
References:  <2D47B79E-C171-4B91-B0AB-4DD2212770C6@gmail.com> <op.w9446fkykndu52@ronaldradial.radialsg.local> <201401281142.10317.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 28 =D1=8F=D0=BD=D0=B2. 2014 =D0=B3., at 20:42, John Baldwin =
<jhb@freebsd.org> wrote:

> On Thursday, January 23, 2014 8:02:29 am Ronald Klop wrote:
>> On Thu, 23 Jan 2014 13:19:36 +0100, Dmitry Sivachenko =20
>> <trtrmitya@gmail.com> wrote:
>>=20
>>> Hello!
>>>=20
>>> After upgrade from stable/9 to stable/10 I see the following =
regression.
>>> Some processes are marked as swapped out in top(1) output:
>>>=20
>>> 1436 root            1  43    0 16524K     0K nanslp 14   1:14   =
0.00% =20
>>> <cron>
>>> 1381 smmsp           1  20    0 23988K     0K pause  18   0:04   =
0.00% =20
>>> <sendma
>>> 99348 mitya           1  21    0 23492K     0K pause  16   0:00   =
0.00% =20
>>> <csh>
>>>=20
>>> ps(1) also shows them as swapped out (W as second character in state =
=20
>>> field):
>>> 1381  -  IWs       0:00.00 sendmail: Queue runner at 00:30:00 for =20=

>>> /var/spool/clie
>>> 1436  -  IWs       0:00.00 /usr/sbin/cron -s
>>> 80231  -  IWs       0:00.00 /usr/local/sbin/collectdmon -c =20
>>> /usr/local/sbin/coll
>>> 99348  1  IWs       0:00.00 -csh (csh)
>>>=20
>>> Though swapinfo reports that zero swap is used and even if I turn =
swap =20
>>> completely off (swapoff -a)
>>> the output of both top(1) and ps(1) does not change: these processes =
are =20
>>> still marked as swapped out.
>>=20
>> The code of an application can get removed from memory, because there =
=20
>> still is an image of it in the executable on disk. It can be =
'swapped' in =20
>> by reading the executable again. The program is memory mapped (mmap).
>> See VN PAGER vs SWAP PAGER in 'systat -vm'.
>=20
> However, a swapped out process always uses swap (for kernel stacks), =
so this=20
> seems like a real bug.
>=20


Okay, I found a buggy commit:

Author: jeff
Date: Tue Aug 13 21:56:16 2013
New Revision: 254304
URL: http://svnweb.freebsd.org/changeset/base/254304

Log:
 Improve pageout flow control to wakeup more frequently and do less work =
while
 maintaining better LRU of active pages.
<...>
Reviewed by:	alc (slight variant of this)
Discussed with:	alc, kib, jhb


How do I reproduce the problem: I have a desktop with 2GB of RAM and 4GB =
of swap space configured.
After "make -j 4 buildworld" I see some processes are swapped out =
(sometimes swapinfo reports swap is not used, sometimes it is used but =
after swapoff -a those processes are still in swapped out state).

I hope this will help to narrow down the problem.

Thanks.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DB219A6F-EFA9-46B9-BA18-CE17A4F0D210>