I've used several applications that CHECK to see if the pagefile is
active, if not, they refuse to load. This mostly happens with games.
Early in the beta world of warcraft was like that (even though they
removed the check in later betas/final.) Also, even when you have 'more
than enough memory', seldom 'used' data is moved to a page file when it
isn't being accessed. If i have a chance i'll find some links for you.
(mostly Windows NT stuff though, don't have anything on other operating
systems, but then again that's what matters here.)
Windows also tends to act rather funny when you don't have a page file
(keep in mind, i'm using a machine with 3 gb memory. My page file is on
my hd, having one in RAM to me is nonsense because my pagefile is
generally 3-6 gigs and would outgrow RAM very fast if i did that.
Of course i'm not recommending creating a ramdrive just for a page file,
but i'm making it clear that it isn't totally foolhardy.
Phillip Susi wrote:
Could you be any more specific? Applications should
not know or care
about pagefiles, that's the business of the memory manager. Most
people have a misconception that if you have a gig of ram, it is a
good thing to allocate 512 megs to a ramdisk and put a pagefile there,
when in fact, it is better to simply have no pagefile at all and have
a full gig of usable ram. I say this because the entire reason for
having a pagefile is to store data that can't fit into real ram, so by
reserving half your ram for a ramdisk, you are creating the need for
the pagefile in it. If you leave that 512 megs of ram to the vm
system to manage, it won't even need a pagefile since there will be a
gig of physical ram to work with instead of only 512 megs.
Also you have to remember that most of the time, the pagefile is not
used, it is only there as a last resort reserve pool of memory.
Unless the system is very heavily loaded, it isn't going to be used at
all, so when you reserve 512 megs of ram for a ramdisk to hold the
pagefile, most of that memory goes to waste. Really even under maxium
total commit, you still are not going to use the pagefile fully used
because a good deal of virtual memory in the system is used to map
shared physical pages of ram for things like dlls. Each time the dll
is mapped, it uses up virtual memory but only physical memory once, so
when you map a 1 meg dll 20 times, you've used 20 megs of virtual
memory, but only 1 meg of real memory. Thus if you have 10 megs of
ram and 10 megs of pagefile, even though you have 20 megs of used
virtual memory, you are only using 1 meg of ram, zero space in the
pagefile, and have 9 megs of free ram ( though zero free virtual
memory so more allocations will fail ).
It's kind of like having an application that has its own file
caching. It's using up memory to cache files that are already cached
by the kernel cache manager, and using up memory that the kernel is
better at allocating than the application is, so it's best to just let
the kernel worry about caching and not the application.
Richard Campbell wrote:
ACTUALLY if you have the page file disabled it
causes compatibility
problems with apps. Windows is DESIGNED to have a page file. So
rather than keeping a page file on disk...create it on a RAMDrive and
you keep apps happy and windows happy.
Richard
Phillip Susi wrote:
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev