2011-05-16 8 views
0

numpy.memmap 개체가 mode='r' (읽기 전용)으로 생성 된 경우 개체 자체를 삭제하지 않고 실제 RAM에서로드 된 페이지를 모두 제거하도록 강제 할 수있는 방법이 있습니까?퍼지 numpy.memmap

다른 말로하면 memmap 인스턴스에 대한 참조를 유효하게 유지하지만 디스크에있는 데이터를 캐시에 사용하여 커밋되지 않은 모든 실제 메모리를 유지하고 싶습니다. memmap 배열에 대한 모든보기도 유효해야합니다.

이 도구를 사용하여 스크립트의 "실제"메모리 요구 사항을 memmap의 사용으로 인한 "일시적인"요구 사항과 분리하는 데 도움이되기를 기대합니다.

저는 RedHat에서 Python 2.7을 사용하고 있습니다.

+1

진단 도구로만 사용하는 경우 이러한 진단을 다른 방법으로 쉽게 읽을 수 있습니다. 참조 : http://stackoverflow.com/questions/118307/a-way-to-determine-a-processs-real-memory-usage-i-e-private-dirty-rss –

답변

2

"pmap SCRIPT-PID"를 실행하면 "실제"메모리는 "[anon]"블록으로 표시되고 모든 메모리 매핑 파일은 마지막 열의 파일 이름으로 나타납니다.

매핑을 시작할 때 포인터를 가져 와서 madvise (ptr, length, MADV_DONTNEED)를 호출 할 수 있다면 C 레벨에서 페이지를 제거 할 수 있지만 그럴 수는 있습니다.