나는 32개의 스레드와 16GiB의 RAM을 갖춘 대규모 코드베이스를 컴파일할 수 있는 컴퓨터를 가지고 있습니다.
RAM은 작지만 일반적으로 충분합니다. 그러나 그렇지 않은 경우 시스템은 몇 GiB의 메모리를 교체하고 일부 컴파일러 프로세스는 상당히 느려집니다.
메모리 압력이 정상으로 돌아온 후에도 프로세스가 스왑 아웃된 페이지에 대해 다소 무작위 액세스 패턴을 갖고 있어 데이터가 한 번에 한 페이지씩 다시 스왑되기 때문에 이러한 프로세스는 여전히 느립니다.
이를 최적화할 수 있는 방법이 있습니까? 예를 들어 사용 가능한 메모리가 충분할 경우 커널이 디스크에서 페이지를 적극적으로 다시 읽도록 합니까?