RE: shared objects, ELFs and memory usage

Nir Livni (nirl@cyber-ark.com)
Thu, 08 May 2003 13:43:14 +0300


OK.
Thanks,
I am beginning to see the full picture now.
But I guess I am still missing something.
In the following "top" output,

Mem: 512396K av, 509208K used, 3188K free, 0K shrd, 10248K
buff
Swap: 522072K av, 0K used, 522072K free 417244K
cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME
1538 unt033 9 0 4528 4524 4128 S 8.9 0.8 0:04
1596 unt006 16 0 4540 4536 4132 S 3.1 0.8 0:04
1509 unt004 11 0 4528 4524 4128 S 2.9 0.8 0:03

I understand that about 4MB from each process is shared using copy_on_write.

What does the "cached" portion of the output means ?
I see that almost all the "used" memory is also "cached".
(please CC me)

Thanks,
Nir

>
>
> On Thu, May 08, 2003 at 12:54:23PM +0300, Nir Livni wrote:
> > After compiling and linking my .so with the -shared option, I've
> > inspected strace output. I can clearly see that the shared object
> > (which is 2MB size) is NOT being
> > shared:
> > 1395 open("/usr/local/sharedclient.so", O_RDONLY) = 6
> > 1395 read(6,
> > "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\200"...,
> > 1024) = 1024
> > 1395 fstat64(6, {st_mode=S_IFREG|0644, st_size=2079700, ...}) = 0
> > 1395 old_mmap(NULL, 2118824, PROT_READ|PROT_EXEC,
> MAP_PRIVATE, 6, 0) =
> > 0x401ea000
> > Any idea why ?
> > (Please CC me because I am not subscribed)
>
> It's called copy-on-write sharing. It is shared with the
> proviso that all modified pages are privatized and not
> committed to disk.
>
>
> -- wli
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/