Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jan 2001 05:49:15 +0100
From:      Cliff Sarginson <cliff@raggedclown.net>
To:        cjclark@alum.mit.edu
Cc:        Mike Meyer <mwm@mired.org>, Gustavo Vieira Goncalves Coelho Rios <gustavo@ifour.com.br>, questions@FreeBSD.ORG
Subject:   Re: small program eats lot of memory
Message-ID:  <20010122054915.D1639@raggedclown.net>
In-Reply-To: <20010121152246.X10761@rfx-216-196-73-168.users.reflex>; from cjclark@reflexnet.net on Sun, Jan 21, 2001 at 03:22:46PM -0800
References:  <14955.1209.195848.394006@guru.mired.org> <01012121054701.03293@buffy> <20010121152246.X10761@rfx-216-196-73-168.users.reflex>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 21, 2001 at 03:22:46PM -0800, Crist J. Clark wrote:
> On Sun, Jan 21, 2001 at 09:05:47PM +0100, Cliff Sarginson wrote:
> > On Sunday 21 January 2001 16:48, Mike Meyer wrote:
> > > Gustavo Vieira Goncalves Coelho Rios <gustavo@ifour.com.br> types:
> > > > I compiled and executed a small program and it's eating about 336
> > > > of real memory (rss) and 840 of virtual size memory (vsz), may some
> > > > one explain why a simple program eats about 1 MB of memory?
> > >
> > > You linked it shared, right? That 1MB includes all of every shared
> > > library it uses, whether it uses those functions or not.
> > 
> > Pardon ! It certainly does not ! That is the point of shared libraries -
> > the code is *shared* between processes using it. The required code is
> > then made dynamically available.
> 
> The purpose of shared libraries is to share _disk_ space, not memory
> space.
> 
Well, this is news to me.

> It's an easy enough test. Take the original little program,
> 
>   $ cat > sizetest.c <<EOF
>   #include <stdio.h>
>   #include <stdlib.h>
>   int main() {
>     sleep(300);
>     return 0;
>   }
>   EOF
>   $ cc -o sizetest sizetest.c 
>   $ cc -static -o sizetest_s sizetest.c
>   $ ls -l sizetest{,_s}
>   -rwxr-xr-x  1 cjc  wheel  4380 Jan 21 15:17 sizetest
>   -rwxr-xr-x  1 cjc  wheel  6947 Jan 21 15:17 sizetest_s
>   $ ./sizetest & ./sizetest_s & sleep 10 ; ps aux | grep sizetest
>   cjc     31567  0.0  0.2   840  272  p2  S     3:17PM   0:00.00 ./sizetest
>   cjc     31568  0.0  0.0   136   20  p2  S     3:17PM   0:00.00 ./sizetest_s
> 
> The static one takes up less memory according to ps(1), but more
> disk.
> -- 
> Crist J. Clark                           cjclark@alum.mit.edu
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-questions" in the body of the message


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010122054915.D1639>