Java memory mapped files and swap
Posted
by MarkS
on Stack Overflow
See other posts from Stack Overflow
or by MarkS
Published on 2010-04-05T20:51:08Z
Indexed on
2010/04/05
20:53 UTC
Read the original article
Hit count: 266
I'm looking at some memory mapped files in Java. Let's say I have a heap size set to 2gb, and I memory map a file that is 50gb - far more than the physical memory on the machine. The OS will cache parts of that 50gb file in the os file cache, the java process will have 2gb of heap space. What I'm curious about is how does the OS decide how much of the 50gb file to cache?
For instance, if I have another java process, also with a 2gb heap size, will that 2gb be swapped out to allow the os to cache parts of the memory mapped file? Will parts of the heap space of the first process be swapped out to allow the OS to cache?
Is there any way to tell the OS not to swap heap space for OS caching? If the OS doesn't swap out main processes, how does it determine how big its file cache should be?
© Stack Overflow or respective owner