When I use 'top' command to check my system, some processes are shown
like
'<php>'. The manual told these processes are swapped out.
But my problem is .. I don't have swapping device (swapoff -a). Where are
they swapped to ?
last pid: 29144;  load averages:  0.69,  0.67,  0.82
up 19+11:25:27  21:05:03
89 processes:  1 running, 88 sleeping
CPU states:  1.2% user,  0.0% nice,  0.9% system,  0.0% interrupt, 97.8%idle
Mem: 309M Active, 27M Inact, 127M Wired, 19M Cache, 60M Buf, 4136K Free
Swap:
  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
29141 nobody      1   4    0 37164K 15932K select 0   0:00  4.55% php
28856 nobody      1   4  -15 36936K  7612K sbwait 0   0:44  1.66% php
                   .
                   .
                   .
29116 nobody      1   4  -15 33732K 13140K accept 0   0:00  0.00% php
24937 nobody      1   8  -15 31740K     0K wait   1   0:00  0.00% <php>
24948 nobody      1   8  -15 31740K     0K wait   0   0:00  0.00% <php>
24931 nobody      1   8  -15 31740K     0K wait   0   0:00  0.00% <php>
24950 nobody      1   8  -15 31740K     0K wait   1   0:00  0.00% <php>
24932 nobody      1   8  -15 31740K   220K wait   1   0:00  0.00% php
                   .
                   .
                   .
Ken Chen wrote:> When I use 'top' command to check my system, some processes are shown like > '<php>'. The manual told these processes are swapped out. > > But my problem is .. I don't have swapping device (swapoff -a). Where are > they swapped to ? > > last pid: 29144; load averages: 0.69, 0.67, 0.82 > up 19+11:25:27 21:05:03 > 89 processes: 1 running, 88 sleeping > CPU states: 1.2% user, 0.0% nice, 0.9% system, 0.0% interrupt, > 97.8%idle > Mem: 309M Active, 27M Inact, 127M Wired, 19M Cache, 60M Buf, 4136K Free > Swap: > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND > 29141 nobody 1 4 0 37164K 15932K select 0 0:00 4.55% php > 28856 nobody 1 4 -15 36936K 7612K sbwait 0 0:44 1.66% php > . > . > . > 29116 nobody 1 4 -15 33732K 13140K accept 0 0:00 0.00% php > 24937 nobody 1 8 -15 31740K 0K wait 1 0:00 0.00% <php> > 24948 nobody 1 8 -15 31740K 0K wait 0 0:00 0.00% <php> > 24931 nobody 1 8 -15 31740K 0K wait 0 0:00 0.00% <php> > 24950 nobody 1 8 -15 31740K 0K wait 1 0:00 0.00% <php> > 24932 nobody 1 8 -15 31740K 220K wait 1 0:00 0.00% phpThe <> are only used when the process flag PS_INMEM is clear, which is supposed to indicate that the process is or is not "in memory". This flag is only ever cleared in swapout, called from swapout_procs. My bet is that the processes are being marked for swap but the dirty pages never actually go anywhere since you don't have a backing store. Maybe someone more familiar with the inner workings of the VM system can fill us in on what happens on a system with no swap. Bill LeFebvre
Ken Chen <ken73.chen@gmail.com> wrote:
 > When I use 'top' command to check my system, some processes are
shown like
 > '<php>'. The manual told these processes are swapped out.
Actually it means that they're not mapped into RAM, but in
practice that should be the same.
Just out of cusiosity I grepped the kernel sources for the
PS_INMEM flag and found just two places where it could
possibly be cleared for a process:  during creation of a
child process within the fork() system call, and when a
process is being swapped out.
 > But my problem is .. I don't have swapping device (swapoff -a). Where
are
 > they swapped to ?
If you don't plan to configure any swap at all, I recommend
you build a kernel with "options NO_SWAPPING".  It removes
the code for swapping processes from the kernel.
(By the way, I recommend you always configure some swap, even
if you don't intend to use it under normal circumstances,
except maybe on diskless machines.)
Best regards
   Oliver
-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Gesch?ftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M?n-
chen, HRB 125758,  Gesch?ftsf?hrer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"If you think C++ is not overly complicated, just what is a protected
abstract virtual base pure virtual private destructor, and when was the
last time you needed one?"
        -- Tom Cargil, C++ Journal