Mac OS X의 경우 vm_allocate()
을 사용하면 제거 가능한 메모리 영역을 만들 수 있습니다. 이 영역은 메모리 압력이 감지 될 때 커널에 의해 언제든지 (잠긴 상태가 아닌) 재 확보 될 수 있습니다. 데이터 캐싱 등에 유용합니다.Linux의 제거 가능한 메모리 영역
Linux (커널 2.6)에서도 비슷한 메커니즘이 있는지 궁금합니다. Google 검색을 통해 안드로이드에 대한 공유 메모리 할당 문제를 해결할 수있는 정보를 얻을 수 있었지만 vanilla Linux에서 실제로이 작업을 수행하는 API에 대해서는 언급하지 않았습니다. mmap
, shmat
등의 설명서 페이지를 검토 한 결과 제거 가능한 영역을 설정하는 플래그가 표시되지 않습니다. Linux에서이 기능을 사용할 수 있습니까? 안드로이드에이 기능에 대한
노트 현재 위치 :
감사합니다!
포맷 수정 용 XNU http://fxr.watson.org/fxr/source/osfmk/vm/vm_object.c?v=xnu-1228;im=bigexcerpts#L5265 – osgx
감사에서 코드 비트 @osgx. XNU 코드는 실제로 OS X에서 볼 수 있습니다. –
안드로이드 토론에 대한 링크를 추가 할 수 있습니까? – osgx