2004-11-21 23:06:03

by Christian Kujau

[permalink] [raw]
Subject: how to find out it's a memory leak?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hi list,

during the last weeks i've encounterd some OOM situation here on my little
server machine. that happened with some 2.6.9 and 2.6.10 kernels but i
never found out what the reason was. the machine was running for 2 or 3
weeks and constantly taking up more and more swap until the OOM killer did
his job and killed some task. i decided to reboot then, once i *had* to
reboot because the machine has locked up.
so i suspect a "memory leak" somewhere. knowing nothing about VM and
knowing the term "memory leak" only from hearsay, i just want to know

1) does a memory leak always occur in kernel space? or could some
userspace application take up more and more swapspace too?
2) where can i look for the process to blame?

i've already thought about it and i really think a userspace app can also
be the bad one here, but "top" and "ps" won't tell me who's to blame.
perhaps somewhere under /proc, but i don't know where. can someone tell me
where to look for?

currently i'm running 2.6.10-rc1-bk19 and 436MB swapspace is already used.
that's not "normal" for this machine and i can from daily "free -m"
outputs that more and more swapspace is used - but i don't know by what!

thanks,
Christian.
- --
BOFH excuse #227:

Fatal error right in front of screen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBoR9Q+A7rjkF8z0wRAiJ6AJ9B1xGegsOUaZ5N0ux2sG6CABAwKQCeO4AF
3PaLcQJM48qOksTFBIKch/k=
=zC0i
-----END PGP SIGNATURE-----


2004-11-23 22:36:09

by Andreas Dilger

[permalink] [raw]
Subject: Re: how to find out it's a memory leak?

On Nov 22, 2004 00:05 +0100, Christian Kujau wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> during the last weeks i've encounterd some OOM situation here on my little
> server machine. that happened with some 2.6.9 and 2.6.10 kernels but i
> never found out what the reason was. the machine was running for 2 or 3
> weeks and constantly taking up more and more swap until the OOM killer did
> his job and killed some task. i decided to reboot then, once i *had* to
> reboot because the machine has locked up.
> so i suspect a "memory leak" somewhere. knowing nothing about VM and
> knowing the term "memory leak" only from hearsay, i just want to know
>
> 1) does a memory leak always occur in kernel space? or could some
> userspace application take up more and more swapspace too?
> 2) where can i look for the process to blame?
>
> i've already thought about it and i really think a userspace app can also
> be the bad one here, but "top" and "ps" won't tell me who's to blame.
> perhaps somewhere under /proc, but i don't know where. can someone tell me
> where to look for?

If you run "top" and press 'M' it sorts processes by memory used. The
other Mem numbers printed are also of interest, "active" and "inactive"
are cached data pages, "buff" are metadata buffers. Also, /proc/slabinfo
will show memory allocated by kernel processes. Any gigantic numbers in
there are generally a sign of memory leak or imbalance in the kernel.
Also include the output of /proc/meminfo if it isn't a user process.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://members.shaw.ca/adilger/ http://members.shaw.ca/golinux/