Linux NFS development
 help / color / mirror / Atom feed
From: "Rick Harris" <rickfharris@yahoo.com.au>
To: linux-nfs@vger.kernel.org
Subject: Memory leaks in rpc.mountd
Date: Sat, 10 Jul 2010 14:43:51 +0930	[thread overview]
Message-ID: <op.vfl3hdllxjjcjd@ricks-laptop.localnet> (raw)

Hi all,

I'm currently experiencing some large memory leaks on an NFS server when  
copying files to it from an NFS client.
This happens for both NFSv3 and NFSv4, am currently using an NFSv4 setup.
Installed software and kernel versions below...


SERVER:
Kernel 2.6.32.9
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
# CONFIG_ROOT_NFS is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFS_COMMON=y

libtirpc-0.2.0
rpcbind-0.2.0
nfs-utils-1.2.2


CLIENT:
Kernel 2.6.34
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFS_COMMON=y

libtirpc-0.2.0
rpcbind-0.2.0
nfs-utils-1.2.2


Output of kmemleak report...

unreferenced object 0xf4b2ec60 (size 32):
   comm "rpc.mountd", pid 1814, jiffies 4294759177
   hex dump (first 32 bytes):
     ab 82 c0 3b c4 54 4f e9 a5 c9 ee db 43 71 fc 38  ...;.TO.....Cq.8
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
   backtrace:
     [<c12e7d79>] kmemleak_alloc+0x59/0xc0
     [<c106ac5a>] __kmalloc+0xfa/0x110
     [<c105787f>] kmemdup+0x1f/0x70
     [<c113dfb1>] svc_export_parse+0x621/0x770
     [<c12db79d>] cache_do_downcall+0x2d/0x40
     [<c12dc2f1>] cache_write+0x91/0xe0
     [<c12dc392>] cache_write_procfs+0x22/0x30
     [<c10a6e34>] proc_reg_write+0x44/0x60
     [<c106fbcc>] vfs_write+0x9c/0x160
     [<c106fd4d>] sys_write+0x3d/0x70
     [<c1002c48>] sysenter_do_call+0x12/0x26
     [<ffffffff>] 0xffffffff


The test case is copying a 1.5GB file from the nfs client to the server.
It literally takes only a minute for the server's 1.2GB of memory to be  
almost totally exhausted down to around 5MB.
The copying process hangs, then resumes many times along the way until it  
does successfully finish around 4 minutes later.
The consumed memory is then not freed and the server's memory remains  
depleted to almost nothing.
The memory is never completely exhausted so it never starts to swap ?

Reading from server works fine with no memory loss, albeit a much slower  
transfer rate.

This started happening after a kernel upgrade on the server from 2.6.20.7  
to 2.6.29.5, but is still occurring with the latest kernels.
Hope the above info helps, I'm willing to try any patches that may get  
thrown my way.


Cheers,
Rick

             reply	other threads:[~2010-07-10  5:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-10  5:13 Rick Harris [this message]
2010-07-20 20:37 ` Memory leaks in rpc.mountd J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.vfl3hdllxjjcjd@ricks-laptop.localnet \
    --to=rickfharris@yahoo.com.au \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox