Re: Help track a memory leak in 2.6.0..14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Arjan van de Ven wrote:
>>Who uses that memory?
> 
> 
> the programs
> 
> slabtop
> xrestop
> cat /proc/meminfo
> 
> are probably good starting points to find the leak; they give a detailed
> overview of various memory pools

Thank you for the info, I didn't know about xrestop :-)

So here is a present state of the machine:
ss ~ # date
Thu Dec 15 12:19:16 JST 2005
ss ~ # free -m
             total       used       free     shared    buffers     cached
Mem:           233        228          5          0         64          8
-/+ buffers/cache:        155         78
Swap:            0          0          0

ss ~ # cat /proc/meminfo
MemTotal:       239460 kB
MemFree:          5588 kB
Buffers:         66212 kB
Cached:           8920 kB
SwapCached:          0 kB
Active:          53708 kB
Inactive:        28328 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       239460 kB
LowFree:          5588 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           9752 kB
Slab:           148528 kB
CommitLimit:    119728 kB
Committed_AS:    16316 kB
PageTables:        260 kB
VmallocTotal:   794324 kB
VmallocUsed:      2276 kB
VmallocChunk:   791880 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     4096 kB

ss ~ # ps -A v k-size
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
 5153 tty2     Ss+    0:01     10   515  4384  2044  0.8 -bash
 4140 ?        Ss     0:00    298   247  4724   860  0.3 /usr/sbin/cupsd
 6572 pts/0    Ss     0:01      2   515  4124  2832  1.1 -bash
 6720 pts/0    R+     0:00      0    55  2676   760  0.3 ps -A v k-size 50
 3448 ?        Ss     0:00     17   133  1894  1044  0.4 /usr/sbin/cannaserver
 6567 ?        Ss     0:00      6   292  6087  2112  0.8 sshd: root@pts/0
 4044 ?        Ss     0:00      4   319  1796   736  0.3 /sbin/dhclient -cf /etc/dhcp/dhclient.co
 4680 ?        Ss     0:00     60    21  2146   500  0.2 login -- kalin
 4485 ?        Ss     0:00      3   292  3103   404  0.1 /usr/sbin/sshd
 3381 ?        Ss     0:00     28   100  1747   564  0.2 /usr/sbin/syslog-ng
 4363 ?        Ss     0:00      0    33  1694   120  0.0 /sbin/rpc.statd
 4681 tty3     Ss+    0:00      0    11  1452    64  0.0 /sbin/agetty 38400 tty3 linux
 4704 tty4     Ss+    0:00      0    11  1452    64  0.0 /sbin/agetty 38400 tty4 linux
 4709 tty5     Ss+    0:00      0    11  1452    60  0.0 /sbin/agetty 38400 tty5 linux
 6015 tty1     Ss+    0:00      1    11  1452   520  0.2 /sbin/agetty 38400 tty1 linux
 4288 ?        Ss     0:00      0    10  1681   116  0.0 /sbin/portmap
 4714 tty6     Ss+    0:00      0    11  1448    60  0.0 /sbin/agetty 38400 tty6 linux
  841 ?        S<s    0:00      1    22  1445   212  0.0 udevd
    1 ?        S      0:00    345    22  1441   160  0.0 init [3]
 4215 ?        Ss     0:07    739    16  2083   212  0.0 /usr/sbin/fnfxd
 4550 ?        Ss     0:00    186     9  1454   284  0.1 /usr/sbin/uptimed
    2 ?        SN     0:00      0     0     0     0  0.0 [ksoftirqd/0]
    3 ?        S<     0:00      0     0     0     0  0.0 [events/0]
    4 ?        S<     0:00      0     0     0     0  0.0 [khelper]
    5 ?        S<     0:00      0     0     0     0  0.0 [kthread]
    7 ?        S<     0:47      0     0     0     0  0.0 [kacpid]
   95 ?        S<     0:00      0     0     0     0  0.0 [kblockd/0]
  134 ?        S      0:00      0     0     0     0  0.0 [pdflush]
  137 ?        S<     0:00      0     0     0     0  0.0 [aio/0]
  136 ?        S      0:01      0     0     0     0  0.0 [kswapd0]
  724 ?        S<     0:00      0     0     0     0  0.0 [kseriod]
  753 ?        S<     0:00      0     0     0     0  0.0 [reiserfs/0]
 1245 ?        S<     0:00      0     0     0     0  0.0 [khubd]
 1410 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 1477 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 4399 ?        S<     0:01      0     0     0     0  0.0 [rpciod/0]
 4400 ?        S      0:00      0     0     0     0  0.0 [lockd]
 5330 ?        S      0:00      0     0     0     0  0.0 [pdflush]

According to slabtop:
 Active / Total Objects (% used)    : 1806688 / 1826914 (98.9%)
 Active / Total Slabs (% used)      : 36958 / 36958 (100.0%)
 Active / Total Caches (% used)     : 64 / 106 (60.4%)
 Active / Total Size (% used)       : 138777.10K / 143195.01K (96.9%)
 Minimum / Average / Maximum Object : 0.02K / 0.08K / 128.00K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
1768936 1768884  99%    0.07K  34018       52    136072K size-64
 19642  16616  84%    0.06K    322       61      1288K buffer_head
 10152   4828  47%    0.14K    376       27      1504K dentry_cache

ss ~ # cat /proc/slabinfo |grep "size-64 "
size-64           1767932 1768000     76   52    1 : tunables   32   16    0 : slabdata  33999
34000      0 : globalstat 21513120 1767964 34005    0    0    1   84    0 : cpustat 614583639
1370079 612951759 1234047

ss ~ # lsmod
Module                  Size  Used by
nfs                   114540  1
lockd                  66920  2 nfs
nfs_acl                 3680  1 nfs
sunrpc                152004  4 nfs,lockd,nfs_acl
usbhid                 27876  0
yenta_socket           26028  2
rsrc_nonstatic         14112  1 yenta_socket
ehci_hcd               33224  0
ohci_hcd               21988  0
usbcore               125660  4 usbhid,ehci_hcd,ohci_hcd
e100                   37984  0
mii                     5568  1 e100

OK, now stop whatever I can, unload most modules and again:

ss ~ # free -m
             total       used       free     shared    buffers     cached
Mem:           233        227          6          0         63         10
-/+ buffers/cache:        153         80
Swap:            0          0          0

ss ~ # ps -A v k-size
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
 5153 tty2     Ss+    0:01     10   515  4384  2044  0.8 -bash
 6572 pts/0    Ss     0:01      2   515  4124  2840  1.1 -bash
 7352 pts/0    R+     0:00      0    55  2676   756  0.3 ps -A v k-size
 6567 ?        Ss     0:00      6   292  6087  2112  0.8 sshd: root@pts/0
 4044 ?        Ss     0:00      4   319  1796   736  0.3 /sbin/dhclient -cf /etc/dhcp/dhclient.co
 4680 ?        Ss     0:00     60    21  2146   500  0.2 login -- kalin
 4485 ?        Ss     0:00      3   292  3103   404  0.1 /usr/sbin/sshd
 3381 ?        Ss     0:00     28   100  1747   564  0.2 /usr/sbin/syslog-ng
 4681 tty3     Ss+    0:00      0    11  1452    64  0.0 /sbin/agetty 38400 tty3 linux
 4704 tty4     Ss+    0:00      0    11  1452    64  0.0 /sbin/agetty 38400 tty4 linux
 4709 tty5     Ss+    0:00      0    11  1452    60  0.0 /sbin/agetty 38400 tty5 linux
 6015 tty1     Ss+    0:00      1    11  1452   520  0.2 /sbin/agetty 38400 tty1 linux
 4714 tty6     Ss+    0:00      0    11  1448    60  0.0 /sbin/agetty 38400 tty6 linux
  841 ?        S<s    0:00      1    22  1445   256  0.1 udevd
    1 ?        S      0:00    345    22  1441   160  0.0 init [3]
 4550 ?        Ss     0:00    186     9  1454   284  0.1 /usr/sbin/uptimed
    2 ?        SN     0:00      0     0     0     0  0.0 [ksoftirqd/0]
    3 ?        S<     0:00      0     0     0     0  0.0 [events/0]
    4 ?        S<     0:00      0     0     0     0  0.0 [khelper]
    5 ?        S<     0:00      0     0     0     0  0.0 [kthread]
    7 ?        S<     0:47      0     0     0     0  0.0 [kacpid]
   95 ?        S<     0:00      0     0     0     0  0.0 [kblockd/0]
  134 ?        S      0:00      0     0     0     0  0.0 [pdflush]
  137 ?        S<     0:00      0     0     0     0  0.0 [aio/0]
  136 ?        S      0:01      0     0     0     0  0.0 [kswapd0]
  724 ?        S<     0:00      0     0     0     0  0.0 [kseriod]
  753 ?        S<     0:00      0     0     0     0  0.0 [reiserfs/0]
 1245 ?        S<     0:00      0     0     0     0  0.0 [khubd]
 1410 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 1477 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 5330 ?        S      0:00      0     0     0     0  0.0 [pdflush]

ss ~ # cat /proc/slabinfo |grep "size-64 "
size-64           1770831 1770860     76   52    1 : tunables   32   16    0 : slabdata  34055
34055      0 : globalstat 21551153 1770860 34060    0    0    1   84    0 : cpustat 615607009
1372499 613972465 1236227

ss ~ # lsmod
Module                  Size  Used by
yenta_socket           26028  2
rsrc_nonstatic         14112  1 yenta_socket
usbcore               125660  1
e100                   37984  0
mii                     5568  1 e100

Now, I cannot `kill -9 1410` or 1477 (the pccard) or unload yeanta_socket and rsrc_nonstatic (that
never worked).

ss ~ # reboot

Now let's how things changed... From 153MB we are back down to 14MB in use... that is a leak of more
than half my pshysical RAM...

ss ~ # free -m
             total       used       free     shared    buffers     cached
Mem:           233         29        204          0          3         11
-/+ buffers/cache:         14        219
Swap:            0          0          0

ss ~ # cat /proc/meminfo
MemTotal:       239460 kB
MemFree:        209544 kB
Buffers:          3324 kB
Cached:          12276 kB
SwapCached:          0 kB
Active:          14448 kB
Inactive:         5720 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       239460 kB
LowFree:        209544 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           7996 kB
Slab:             6564 kB
CommitLimit:    119728 kB
Committed_AS:    13456 kB
PageTables:        252 kB
VmallocTotal:   794324 kB
VmallocUsed:      2276 kB
VmallocChunk:   791880 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     4096 kB

ss ~ # lsmod
Module                  Size  Used by
nfs                   114540  1
lockd                  66920  2 nfs
nfs_acl                 3680  1 nfs
sunrpc                152004  4 nfs,lockd,nfs_acl
usbhid                 27876  0
yenta_socket           26028  2
rsrc_nonstatic         14112  1 yenta_socket
ehci_hcd               33224  0
ohci_hcd               21988  0
usbcore               125660  4 usbhid,ehci_hcd,ohci_hcd
e100                   37984  0
mii                     5568  1 e100
ss ~ # cat /proc/slabinfo |grep "size-64 "
size-64             1264   1300     76   52    1 : tunables   32   16    0 : slabdata     25     25
     0 : globalstat    6357   1280    31    1    0    1   84    0 : cpustat 151935    427 150804    317
ss ~ # ps -A v k-size
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
 4065 ?        Ss     0:00     10   247  4724  1872  0.7 /usr/sbin/cupsd
 4651 pts/0    Ss     0:00      8   515  3992  2804  1.1 -bash
 4678 pts/0    R+     0:00      0    55  2676   760  0.3 ps -A v k-size
 3969 ?        Ss     0:00      0   319  1796   996  0.4 /sbin/dhclient -cf /etc/dhcp/dhclient.co
 4646 ?        Ss     0:00      2   292  5927  2060  0.8 sshd: root@pts/0
 4410 ?        Ss     0:00      0   292  3103  1508  0.6 /usr/sbin/sshd
 3373 ?        Ss     0:00      0   133  1634   764  0.3 /usr/sbin/cannaserver
 3306 ?        Ss     0:00      0   100  1747   880  0.3 /usr/sbin/syslog-ng
 4288 ?        Ss     0:00      0    33  1698   824  0.3 /sbin/rpc.statd
 4213 ?        Ss     0:00      0    10  1685   648  0.2 /sbin/portmap
 4619 tty3     Ss+    0:00      0    11  1452   528  0.2 /sbin/agetty 38400 tty3 linux
 4621 tty5     Ss+    0:00      0    11  1452   528  0.2 /sbin/agetty 38400 tty5 linux
  801 ?        S<s    0:00      0    22  1449   480  0.2 udevd
 4614 tty1     Ss+    0:00      0    11  1448   524  0.2 /sbin/agetty 38400 tty1 linux
 4618 tty2     Ss+    0:00      0    11  1448   520  0.2 /sbin/agetty 38400 tty2 linux
 4620 tty4     Ss+    0:00      0    11  1448   524  0.2 /sbin/agetty 38400 tty4 linux
 4622 tty6     Ss+    0:00      0    11  1448   524  0.2 /sbin/agetty 38400 tty6 linux
    1 ?        S      0:00     16    22  1441   504  0.2 init [3]
 4140 ?        Ss     0:00      0    16  2083   560  0.2 /usr/sbin/fnfxd
 4475 ?        Ss     0:00      0     9  1450   508  0.2 /usr/sbin/uptimed
    2 ?        SN     0:00      0     0     0     0  0.0 [ksoftirqd/0]
    3 ?        S<     0:00      0     0     0     0  0.0 [events/0]
    4 ?        S<     0:00      0     0     0     0  0.0 [khelper]
    5 ?        S<     0:00      0     0     0     0  0.0 [kthread]
    7 ?        S<     0:00      0     0     0     0  0.0 [kacpid]
   95 ?        S<     0:00      0     0     0     0  0.0 [kblockd/0]
  134 ?        S      0:00      0     0     0     0  0.0 [pdflush]
  135 ?        S      0:00      0     0     0     0  0.0 [pdflush]
  137 ?        S<     0:00      0     0     0     0  0.0 [aio/0]
  136 ?        S      0:00      0     0     0     0  0.0 [kswapd0]
  724 ?        S<     0:00      0     0     0     0  0.0 [kseriod]
  753 ?        S<     0:00      0     0     0     0  0.0 [reiserfs/0]
 1243 ?        S<     0:00      0     0     0     0  0.0 [khubd]
 1411 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 1490 ?        S      0:00      0     0     0     0  0.0 [pccardd]
 4324 ?        S<     0:00      0     0     0     0  0.0 [rpciod/0]
 4325 ?        S      0:00      0     0     0     0  0.0 [lockd]

ss ~ # uname -a
Linux ss 2.6.13.3-ss #1 Tue Oct 18 14:08:05 Local time zone must be set--see zic manu i686 Intel(R)
Pentium(R) III Mobile CPU       800MHz GenuineIntel GNU/Linux

** Hmm, have to check my timezone :-) **

So, given all this info, does anybody see anything strange? What else can I do?
Or, I should put kdb in action...
What else can I compare before and after a reboot?
Will /proc/config.gz provide any info (just trying to save bandwith, can post it anytime)?

This is a vanilla 2.6.13.3 + mppe-mppc-1.3.patch (as module), but the patch/module was never
used/loaded for this session.

NB: In this situation, X was shut down, so xrestop is irrelevant.

Thank you,
Kalin.
-- 
|[ ~~~~~~~~~~~~~~~~~~~~~~ ]|
+-> http://ThinRope.net/ <-+
|[ ______________________ ]|

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux