250MB 파일이 있고 파일 설명자를 열어 파일을 읽었다고 가정합니다. 전체 파일이 메모리에 덤프되어 파일 설명자를 닫을 때까지 메모리에 남아 있습니까?
이는 동일한 파일의 데이터를 구문 분석하기 위해 sed, grep 또는 awk와 같은 명령을 사용하는 것과 어떻게 다릅니까?
답변1
커널은 커널 정책 및 메모리 요구 사항에 따라 메모리에 파일을 버퍼링합니다. 전체 파일이 메모리에 남을 수 있으며 파일 설명자가 닫힌 후에도 버퍼를 재사용해야 할 때까지 메모리에 남아 있을 수 있으므로 나중에 동일한 파일을 사용하여 동일한 애플리케이션을 직접 실행하면 많은 자원. 서둘러요. 또는 내용의 일부만 메모리에 저장되고 서로 읽혀지게 됩니다.
이와 관련하여 모든 앱은 동일하게 작동하며 앱이 무엇인지는 중요하지 않습니다. 파일을 여는 방법에는 여러 가지가 있지만 이는 모든 작동 방식에 대한 세부 사항에 영향을 미칠 수 있습니다.