!["mmap"을 사용하는 동일한 프로그램은 컴퓨터마다 다르게 동작합니다.](https://linux55.com/image/98028/%22mmap%22%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%80%20%EC%BB%B4%ED%93%A8%ED%84%B0%EB%A7%88%EB%8B%A4%20%EB%8B%A4%EB%A5%B4%EA%B2%8C%20%EB%8F%99%EC%9E%91%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 서로 다른 두 컴퓨터(CentOS 7)에서 대용량 메모리 매핑 파일을 사용하는 애플리케이션을 실행하고 있습니다.
두 개의 서로 다른 컴퓨터에서 동일한 프로그램을 실행할 때 성능에 상당한 차이가 있음을 발견했습니다.
그 이유는 대부분의 페이지가 디스크로 스왑 아웃되기 때문에 한 시스템이 너무 많은 디스크 I/O를 사용하고 있기 때문입니다.
명령을 실행하면 top
느린 컴퓨터에서 공유 메모리 영역의 크기는 몇 메가바이트 정도에 불과합니다. 더 빠른 시스템에서 공유 메모리 영역의 크기는 약 6GB입니다. 이는 대부분의 데이터가 운영 체제 페이지 캐시에 캐시된다는 것을 의미합니다.
전체 메모리 매핑 파일을 캐시할 수 있는 충분한 메모리 공간(16GB 이상)이 있는지 확인했습니다.
누구든지 이 문제에 대한 아이디어를 줄 수 있나요?