2014-03-06 4 views
1

리눅스의 tmpfs 볼륨에 mmap을 넣으면 활성 페이지가 RAM에 두 번 저장됩니까? 나의 이해는 커널이 ramdisk를 매핑하기 위해 특별한 shmem_mmap 연산을 사용하여 각 페이지가 리소스를 한 번만 소비하도록한다. 하지만 나는 가상 머신에있어 가상 메모리 조작으로 xen messes를 사용한다고 가정합니다.tmpfs를 수행하고 mmap이 xen에서 nice를 재생합니까?

컨텍스트 : AWS의 tmpfs 볼륨 (즉, xen 가상 시스템)에서 mongodb를 실험하고 있습니다.

답변

1

활성 tmpfs 페이지는 두 번 저장되지 않습니다 (큰 tmpfs의 경우 매우 낭비됩니다). tmpfs docs at kernel.org, 특히 mongo를 읽을 수 있습니다. "tmpfs 인스턴스의 크기를 초과하면 OOM 핸들러가 메모리를 확보 할 수 없기 때문에 시스템이 교착 상태가됩니다." 나는 "tmpfs 볼륨에서 mmaping"에 대해 당신을 따라 다니지 않을 것이지만, 어떤 블록 장치와 마찬가지로 파일 시스템에 쓰는 프로세스가 아니라 메모리 매핑을하는 파일 시스템을 의미한다고 가정합니다.

Xen 및 가상 메모리에 대한 숨겨진 질문이있는 것 같습니다. Brendan Gregg's Xen Feature Detection post ("페이지 테이블"을 원함)을 읽고 2014 년 중반의 오늘 현재까지 Intel's Virtualization Technology site을 살펴 보시기 바랍니다. AWS는 Intel Sandy Bridge와 Ivy Bridge를 EC2 Instance Types 페이지에서 사용한다고 말합니다.

+0

'mmapping in a tmpfs volume'은 mmapping중인 파일이 tmpfs 볼륨에 있음을 의미합니다. – amwinter