STEINBERGER@KL.SRI.COM (Richard Steinberger) (05/02/88)
When one or more users run an image that is installed, who's Working set quota get's debited, or do each of the user's quotas get charged, or do no charges result (assuming it was installed /shared). Is there a way to have very popular images (like emacs) reside in memory (if space is available) even though no one may currently be running that image? Would there be any reason to do this (i.e. speed of execution)? Thanks to any/all who reply. -Ric Steinberger steinberger@kl.sri.com -------
tada@athena.mit.edu (Michael Zehr) (05/03/88)
In article <12395117720.16.STEINBERGER@KL.SRI.COM> STEINBERGER@KL.SRI.COM (Richard Steinberger) writes: > > When one or more users run an image that is installed, who's Working >set quota get's debited? [...] [Can popular images reside in memory >even though no one may currently be running that image?] Yes, it is faster, because the file's header is resident so VMS doesn't have to do a directory lookup to see where the file is on disk, but i don't think you can force it to remain in memory. The large advantage is when two people are using it they use the same global pages (i.e. takes up less memory, so it pages less so it's faster). Does anyone know how this applies to data files? I want two processes to run at the same time, each of them reading data from a file. I can install the file /open, but when i try it /shared, it complains (BADHDR -- an error was discovered in the image header). The machine is really thrashing for memory, so any suggestions on how to make the processes share data pages would be appreciated. -michael j zehr
LEICHTER@Venus.YCC.Yale.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) (05/03/88)
When one or more users run an image that is installed, who's Working set quota get's debited, or do each of the user's quotas get charged, or do no charges result (assuming it was installed /shared). The pages from installed images are charged to the working set sizes of each of the processes that map to them and then fault pages in. Is there a way to have very popular images (like emacs) reside in memory (if space is available) even though no one may currently be running that image? Would there be any reason to do this (i.e. speed of execution)? Install the images /OPEN/HEADER_RES. This will keep the file open permanently and keep the image header resident. There is no explicit way to force the pages of the file to remain resident, but if there is enough memory they usually will anyway. Let the pager worry about it.... -- Jerry
pstevens@pioneer.arpa (Paul Stevens RCE Sterling) (05/04/88)
In article <5077@bloom-beacon.MIT.EDU> tada@athena.mit.edu (Michael Zehr) writes: > >Does anyone know how this applies to data files? I want two processes >to run at the same time, each of them reading data from a file. I can >install the file /open, but when i try it /shared, it complains (BADHDR >-- an error was discovered in the image header). The machine is >really thrashing for memory, so any suggestions on how to make the >processes share data pages would be appreciated. > I believe that to install as SHARED the file must be an executable. To do what you want, look at $CRMPSC (create and map section system service) and use it to create a permanant section. Of course you will need suficient privledges to do so. Of course, with both techniques the file will only actually be in memory after one or more processes maps to it. It's also possible to accomplish the same thing (sharing a data file between two processes) by using linker options, but then your file must be source code for some supported language, as opposed to raw data. Hope this helps a bit. ----------------------------------------------------------------------- Paul Stevens - NASA Ames Research Center Moffet Field CA Mail Stop 233-10 (415)694-4887 pstevens@ames-pioneer.arpa
rrk@byuvax.bitnet (05/06/88)
If this is a data file, I doubt you want to do anything $CRMPSC could do for you. You probably want to do a convert/fdl or some such thing on the file and specify that you want global RMS buffers. This actually makes a system section you can see with list/global from install whenever the file is opened, but it allows you to access the file from RMS with normal file/record locking like you are used to instead of giving you the whole file uninterpreted in system memory in one whack. AMMON::RAY