From: Nick Craig-Wood (ncw_at_axis.demon.co.uk)
Date: Fri 02 Nov 2001 - 10:32:11 GMT
Have any of you guys seen Mergem?
Basically it scans memory looking for identical pages then merges them
marking the merged page as copy on write.
This seems ideal for the multiple virtual server machine. Linux will
share the code / shared libraries of all the running programs
(provided the executables have been hardlinked together) but this will
share the identical data pages which were started from programs which
weren't forked from each other.
Mergemem hasn't been maintained since Jan 1999, but it might well be
useful for this kind of project so it might be worth revitalising it.
From the web page :-
The mergemem program is able to reduce memory consumption of
processes under the Linux operating system. Many programs contain
memory areas of the same content that remain undetected by the
operating system. Typically, these areas contain data that have been
generated on startup and remain unchanged for longer periods. With
mergemem such areas are detected and shared. The sharing is
performed on the operating system level and is invisible to the user
mergemem is particularily useful if you run many instances of
interpreters and emulators (like Java or Prolog) that keep their
code in private data areas. But also other programs can take
advantage albeit to a lesser degree.
mergemem was realized in a student project by Philipp Richter and
Philipp Reisner at TU Wien.
-- Nick Craig-Wood ncw_at_axis.demon.co.uk