[Gluster-users] Memory usage high on server sides
Chris Jin
chris at pikicentral.com
Thu Apr 15 05:45:38 UTC 2010
Tejas,
We still have hundreds of GBs to copy, and have not put the new file
system into the test. So far the clients works all fine. I mean the
commands like ls, mkdir, touch, and etc.
Thanks again for your time.
regards,
Chris
On Wed, 2010-04-14 at 23:04 -0600, Tejas N. Bhise wrote:
> Chris,
>
> By the way, after the copy is done, how is the system responding to
> regular access ? In the sense, was the problem with copy also
> carried forward as more trouble seen with subsequent access of
> data over glusterfs ?
>
> Regards,
> Tejas.
>
> ----- Original Message -----
> From: "Chris Jin" <chris at pikicentral.com>
> To: "Tejas N. Bhise" <tejas at gluster.com>
> Cc: "gluster-users" <gluster-users at gluster.org>
> Sent: Thursday, April 15, 2010 9:48:42 AM
> Subject: Re: [Gluster-users] Memory usage high on server sides
>
> Hi Tejas,
>
> > Problems you saw -
> >
> > 1) High memory usage on client where gluster volume is mounted
>
> Memory usage for clients is 0% after copying.
> $ps auxf
> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
> root 19692 1.3 0.0 262148 6980 ? Ssl Apr12
> 61:33 /sbin/glusterfs --log-level=NORMAL
> --volfile=/u2/git/modules/shared/glusterfs/clients/r2/c2.vol /gfs/r2/f2
>
> > 2) High memory usage on server
> Yes.
> $ps auxf
> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
> root 26472 2.2 29.1 718100 600260 ? Ssl Apr09 184:09
> glusterfsd -f /etc/glusterfs/servers/r2/f1.vol
> root 26485 1.8 39.8 887744 821384 ? Ssl Apr09 157:16
> glusterfsd -f /etc/glusterfs/servers/r2/f2.vol
>
> > 3) 2 days to copy 300 GB data
> More than 700GB. There are two folders. The first one is copied to
> server 1 and server 2, and the second one is copied to server 2 and
> server 3. The vol files are below.
>
> > About the config, can you provide the following for both old and new systems -
> >
> > 1) OS and kernel level on gluster servers and clients
> Debian Kernel 2.6.18-6-amd64
>
> $uname -a
> Linux fs2 2.6.18-6-amd64 #1 SMP Tue Aug 19 04:30:56 UTC 2008 x86_64
> GNU/Linux
>
> > 2) volume file from servers and clients
>
> #####Server Vol file (f1.vol)
> # The same settings for f2.vol and f3.vol, just different dirs and ports
> # f1 f3 for Server 1, f1 f2 for Server 2, f2 f3 for Server 3
> volume posix1
> type storage/posix
> option directory /gfs/r2/f1
> end-volume
>
> volume locks1
> type features/locks
> subvolumes posix1
> end-volume
>
> volume brick1
> type performance/io-threads
> option thread-count 8
> subvolumes locks1
> end-volume
>
> volume server-tcp
> type protocol/server
> option transport-type tcp
> option auth.addr.brick1.allow 192.168.0.*
> option transport.socket.listen-port 6991
> option transport.socket.nodelay on
> subvolumes brick1
> end-volume
>
> #####Client Vol file (c1.vol)
> # The same settings for c2.vol and c3.vol
> # s2 s3 for c2, s3 s1 for c3
> volume s1
> type protocol/client
> option transport-type tcp
> option remote-host 192.168.0.31
> option transport.socket.nodelay on
> option transport.remote-port 6991
> option remote-subvolume brick1
> end-volume
>
> volume s2
> type protocol/client
> option transport-type tcp
> option remote-host 192.168.0.32
> option transport.socket.nodelay on
> option transport.remote-port 6991
> option remote-subvolume brick1
> end-volume
>
> volume mirror
> type cluster/replicate
> option data-self-heal off
> option metadata-self-heal off
> option entry-self-heal off
> subvolumes s1 s2
> end-volume
>
> volume writebehind
> type performance/write-behind
> option cache-size 100MB
> option flush-behind off
> subvolumes mirror
> end-volume
>
> volume iocache
> type performance/io-cache
> option cache-size `grep 'MemTotal' /proc/meminfo | awk '{print $2 *
> 0.2 / 1024}' | cut -f1 -d.`MB
> option cache-timeout 1
> subvolumes writebehind
> end-volume
>
> volume quickread
> type performance/quick-read
> option cache-timeout 1
> option max-file-size 256Kb
> subvolumes iocache
> end-volume
>
> volume statprefetch
> type performance/stat-prefetch
> subvolumes quickread
> end-volume
>
>
> > 3) Filesystem type of backend gluster subvolumes
> ext3
>
> > 4) How close to full the backend subvolumes are
> New 2T hard disks for each server.
>
> > 5) The exact copy command .. did you mount the volumes from
> > old and new system on a single machine and did cp or used rsync
> > or some other method ? If something more than just a cp, please
> > send the exact command line you used.
> The old file system uses DRBD and NFS.
> The exact command is
> sudo cp -R -v -p -P /nfsmounts/nfs3/photo .
>
> > 6) How many files/directories ( tentative ) in that 300GB data ( would help in
> > trying to reproduce inhouse with a smaller test bed ).
> I cannot tell, but the file sizes are between 1KB to 200KB, average
> around 20KB.
>
> > 7) Was there other load on the new or old system ?
> The old systems are still used for web servers.
> The new systems are on the same servers but different hard disks.
>
> > 8) Any other patterns you noticed.
> There is once that one client tried to connect one server with external
> IP address.
> Using distribute translator across all three mirrors will make system
> twice slower than using three mounted folders.
>
> Is this information enough?
>
> Please take a look.
>
> Regards,
>
> Chris
>
>
>
More information about the Gluster-users
mailing list