[mythtv-users] how to keep executables resident?

Joseph A. Caputo jcaputo1 at comcast.net
Wed Jan 21 12:41:28 EST 2004


On Wednesday 21 January 2004 11:58, Kyle Rose wrote:
> "Joseph A. Caputo" <jcaputo1 at comcast.net> writes:
> > On Wednesday 21 January 2004 02:37, David Jeske wrote:
> >> buffers expand and push out non-active code pages. Even if I turn
> >> off swap, executables seem to get pushed out and demand loaded
> >> back from the executable.
>
> ...
>
> > Get lots of memory and turn off your swap partition :-)
>
> You wanna read that again? :)
>
> Linux executables are demand-paged from their original inode, which
> means they aren't paged out to swap when memory runs low, but are
> instead evicted from memory and then re-read from the original
> location on disk.  (This is why one cannot cp over a running
> demand-paged executable in Linux: cp opens for rw, truncs the file,
> and then writes from position 0, instead of writing a temporary file
> and renaming it over the original, as one would initially expect.
> Linux won't allow running demand-paged executables to be edited.)
> Therefore, even without swap, he will still get this behavior.  This
> is why I recommended mlockall(), which will trapdoor all the code
> pages in memory for the lifetime of the execution.

Note to self:  activate brain, *then* engage mouth (or in this case, 
fingers).

I suppose it's worth noting that this is more like a general Unix-ism 
rather than Linux-specific behavior.  I know Solaris works the same 
way, and hence probably *BSD, since they share a common heritage.

-JAC



More information about the mythtv-users mailing list