Re: shared objects, ELFs and memory usage

William Lee Irwin III (wli@holomorphy.com)
Thu, 8 May 2003 03:01:28 -0700


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/