Re: Memory leaks / Help with memprof & ps output



On Thu, 04 Apr 2002 09:58:45 EST, Jason Tackaberry said:

>     #include <stdio.h>
>     #include <glib.h>
>     
>     void main() {
>          char *p = g_new0(char, 1024*1024*100);
>          g_print("1. Check memory usage...");
>          getchar();
>          g_free(p);
>          g_print("2. Check again...");
>          getchar();
>     }
> 
> Checking memory usage at (1) shows 100M of RSS, and at (2), shows 600k
> or so.  Did I misunderstand you?

That's *RSS* - *RESIDENT* Set Size.  Take a look at the *total* size
(Linux 2.4 'ps uax' and look at the 'VSZ' column, under Solaris 2.8
use 'ps -efly' and look at RSS and SZ).  Most malloc() packages are unable
to use sbrk() to totally return space, and even if they ARE able to, usually
there's too much fragmentation of memory to do it without the help
of a reallocating garbage collector (which is *SO* non-C that I'll not
discuss it further ;)

The difference between 'SZ' and 'RSS' is pages that are either shared memory
or swapped out to disk.

-- 
				Valdis Kletnieks
				Computer Systems Senior Engineer
				Virginia Tech

Attachment: pgpcx65zD9aos.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]