If I run top and hit M to get a listing sorted by memory usage, I see
that 98% of memory is used up, as follows:

    20%     buffers
    20%     cached
    23%     non 0.0% processes
     1%     free 

Where is the missing 36%?

"Ah!" I think to myself "I have 52 processes other processes using
'0.0%' memory.  What if I guess they're each really using 0.049999%
memory...".

Rats, that only explains another 2.6%.

Any ideas?  I'm stumped.

$ top --version
top (procps version 2.0.7)

This is on an old RH 7.2 system using kernel 2.4.28.

"top" interesting bits:

 11:13pm  up 74 days, 56 min,  1 user,  load average: 0.10, 0.04, 0.01
84 processes: 77 sleeping, 2 running, 2 zombie, 3 stopped
CPU states:  0.0% user,  0.3% system,  0.0% nice, 99.6% idle
Mem:   255716K av,  251356K used,    4360K free,       0K shrd,   53528K buff
Swap:  265032K av,  237716K used,   27316K free                   52428K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
 1273 root      18   0  255M  10M   732 R     0.0  4.3  1012m X
 2451 luke      18   0 13932 8864  2388 S     0.0  3.4   7:21 postilion.exec
 1061 xfs        9   0 16780 7492   336 S     0.0  2.9   0:49 xfs
17278 stella     9   0  6440 6440  4092 S     0.0  2.5   0:00 postilion.exec
15573 stella     9   0  6432 6432  4088 S     0.0  2.5   0:17 postilion.exec
15571 root       9   0  2236 2184  1480 S     0.0  0.8   0:07 sshd
 5937 luke       9   0 12192 2096  1160 S     0.0  0.8   0:00 postilion.exec
  745 ntp        9   0  1924 1924  1732 S     0.0  0.7   0:00 ntpd
16392 root       9   0  1644 1644  1256 S     0.0  0.6   0:00 fetchmail
17160 stella     9   0  1416 1412   400 S     0.0  0.5   0:00 ispell
 1290 luke       9   0  1868 1344   684 S     0.0  0.5   2:06 wmaker
18057 luke       9   0  2948 1164   428 S     0.0  0.4 105:16 smbd
17321 luke      18   0   968  968   756 R     0.1  0.3   0:00 top
 1309 luke       9   0  1108  944   644 S     0.0  0.3   0:02 bash
 5918 luke       9   0  1356  808   368 S     0.0  0.3   0:00 ispell
 1307 luke       9   0   936  724   428 S     0.0  0.2   0:01 bash
 1295 luke       9   0  1948  648   296 S     0.0  0.2   0:07 wterm
 1296 luke       9   0  1956  640   352 S     0.0  0.2   0:09 wterm
  625 rpcuser    9   0   664  568   564 S     0.0  0.2   0:00 rpc.statd
 1084 root       9   0   880  564   428 S     0.0  0.2   0:04 nmbd
  572 root       9   0   608  552   512 S     0.0  0.2   0:03 syslogd
15901 root       9   0   508  508   436 S     0.0  0.1   0:00 portsentry
  577 root       9   0  1352  496   452 S     0.0  0.1   0:00 klogd
15897 root       9   0   492  492   420 S     0.0  0.1   0:01 portsentry
  597 rpc        9   0   572  488   484 S     0.0  0.1   0:00 portmap
  800 root       9   0   452  440   252 S     0.0  0.1   0:13 smartd
 1297 luke       9   0   584  428   328 S     0.0  0.1   0:00 xcb
  947 root       8   0   848  424   308 S     0.0  0.1   0:06 sendmail
10423 luke       9   0   668  420   300 S     0.0  0.1   0:00 wterm
  818 root       9   0   528  400   336 S     0.0  0.1   0:04 sshd
 1299 luke       9   0   468  364   260 S     0.0  0.1  45:07 wmmail
 1079 root       9   0   688  296   208 S     0.0  0.1   0:00 smbd
  874 lp         8   0   360  252   208 S     0.0  0.0   0:00 lpd
10424 luke       8   0   592  240   236 S     0.0  0.0   0:00 bash
 1298 luke       9   0   296  228   176 S     0.0  0.0   0:10 wmclock
  852 root       9   0   328  140   136 S     0.0  0.0   0:00 xinetd
10616 luke       9   0   220  132    92 S     0.0  0.0   0:03 asmixer
  985 root       9   0   172  116    76 S     0.0  0.0   0:00 crond
  903 root       9   0   200  112   108 S     0.0  0.0   0:00 rpc.rquotad
  533 root       9   0   168  108   104 S     0.0  0.0   0:00 mingetty
 1142 root       8   0   136   80    60 S     0.0  0.0   0:00 rhnsd
    1 root       8   0   120   72    52 S     0.0  0.0   0:06 init
 1121 daemon     9   0   104   44    32 S     0.0  0.0   0:00 atd
 1087 root       9   0   456   36    32 S     0.0  0.0   0:00 nmbd
 1764 root       9   0   156   28    24 S     0.0  0.0   0:00 rpc.mountd
 1201 root       9   0   268   20    16 S     0.0  0.0   0:00 login
 1203 root       9   0    76   16    12 S     0.0  0.0   0:00 mingetty
 1204 root       9   0    76   16    12 S     0.0  0.0   0:00 mingetty
 1205 root       9   0    76   16    12 S     0.0  0.0   0:00 mingetty
[... the remaining 35 0.0%-memory using process omitted]

I also notice that if I start 5 galeon browser windows, I get 6 galeon
processes each using 34.4% memory (another 200% memory used).

The man page for top says "%MEM The task's share of the physical memory".

None of these numbers add up, for me!  Even if I assume the man page is
wrong, and it should say "%MEM   The task's share of the physical memory,
except when the process that's listed is sharing memory with others."

Puzzled,

luke

-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to