Java에서 메모리 맵핑 된 일부 파일을보고 있습니다. 예를 들어, 힙 크기를 2GB로 설정하고 메모리에 50GB 인 파일을 매핑한다고 가정 해 보겠습니다. 실제로 컴퓨터의 실제 메모리보다 많습니다. OS는 os 파일 캐시에 50GB 파일의 일부를 캐시합니다. Java 프로세스에는 2GB의 힙 공간이 있습니다. 내가 궁금한 점은 OS가 캐시 할 50GB 파일의 양을 어떻게 결정 하는가?Java 메모리 맵핑 파일 및 스왑
예를 들어 2GB 힙 크기의 Java 프로세스가있는 경우 메모리 매핑 된 파일의 일부를 캐시 할 수 있도록 2GB가 스왑 아웃됩니까? OS가 캐시 할 수 있도록 첫 번째 프로세스의 힙 공간 일부가 스왑 아웃됩니까?
운영 체제 캐싱을 위해 힙 공간을 바꾸지 않도록 OS에 알리는 방법이 있습니까? OS가 메인 프로세스를 스왑 아웃하지 않는다면, 파일 캐시의 크기를 어떻게 결정할 수 있습니까?