4GB 램이 장착 된 시스템에서 작업하고 있습니다. 나는 4GB의 대용량 파일을 생성하고 그것을 0으로 초기화했다.대용량 파일을 읽는 중 페이지 오류가 발생했습니다.
정수로 큰 파일 정수를 읽기 시작했습니다.
페이지 폴트 (메이저)의 수는 파일의 크기와 상관없이 0입니다.
파일 설명자와 FILE 포인터를 모두 사용하여 파일을 읽었습니다. 두 경우 모두 페이지 폴트 (major)를 찾지 못했습니다.
왜 그렇습니까? 내부 스와핑이 발생하는 경우에만 프로그램의 페이지 오류가 발생합니까?
그렇다면 페이지 오류가 발생할 C 프로그램을 제안 할 수 있습니다.
나는 우분투 12.04에 내 컴퓨터의 사양을하고 있어요 : 4 기가 바이트 램, 500기가바이트 Hardisk
감사합니다 사전에 가상 메모리 데이터를 에 액세스하려고 할 때
mmap을 사용하여 파일 읽기 – DoxyLover
여기에는 파일이 관련이 없습니다. 페이지 폴트를 보려면 많은 양의 가상 메모리에 액세스해야합니다. 이 기억이 어디서 오는지는 중요하지 않습니다. mmap을 사용하여 매핑하거나 malloc을 사용하여 할당 할 수 있습니다. –