Linux NFS development
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Rick Harris <rickfharris@yahoo.com.au>
Cc: linux-nfs@vger.kernel.org
Subject: Re: Memory leaks in rpc.mountd
Date: Tue, 20 Jul 2010 16:37:42 -0400	[thread overview]
Message-ID: <20100720203741.GB11367@fieldses.org> (raw)
In-Reply-To: <op.vfl3hdllxjjcjd@ricks-laptop.localnet>

On Sat, Jul 10, 2010 at 02:43:51PM +0930, Rick Harris wrote:
> 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):

If I understand right, it's saying that it only found the one
unreferenced object?  svc_export_parse should be called relatively
rarely, so it's unlikely to explain your symptoms anyway.

>   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.

How are you measuring the amount of free memory?

> 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.

What kind of drive are you exporting, over what network?

--b.

> 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
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

      reply	other threads:[~2010-07-20 20:38 UTC|newest]

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

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=20100720203741.GB11367@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=rickfharris@yahoo.com.au \
    /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