1GiB (그리고 아마도 더 적은)의 스왑으로도 괜찮습니다. 업무용 컴퓨터는 일반적으로 140-150 MiB 이하를 사용합니다. 기가 바이트는이를위한 과도한 프로비저닝입니다.
당신은 기가 바이트의 수백에서 데이터 세트를 필요로 계산 작업을 수행하지 않는 한 과 (이 중요하다!) 데이터에 액세스 할을 어느 정도 접근하면 패션, 당신은 그것보다 훨씬 더 큰 스왑을 갖고 싶어하지 않습니다. 그러나 데이터 파일을 단순히 메모리로 매핑하면 해당 응용 프로그램에서 동일하게 작동합니다.
하지만 더 많은 스왑이 더 많은 것을 도와줍니다. 더 많은 것이 항상 좋습니다!
예를 들어 16GiB의 스왑이 어떤 차이를 만들지 (또는 64GiB를 생각할 것인지) 고려하십시오. 이 16GiB를 사용하지 않으면 처음부터 따로 보관할 수 없습니다. 그러나 당신이 그들을 사용하면 어떻게됩니까? 주 메모리와 비교할 때 디스크 속도가 너무 느립니다. SATA-600 SSD를 사용하더라도 16GiB 전송에는 다른 구성에서 30 ~ 40 초가 걸리며 2 ~ 4 배가 걸립니다.
이제 누군가가 한 번에 16GiB가 아니라 12KiB 정도의 페이지를 페이징 및 페이징하고 있다는 사실을 필연적으로 반대 할 것입니다. 그럼에도 불구하고 요점은 의미합니다. 몇 페이지 만 스왑 인 / 아웃해야하는 경우 16GiB 스왑이 필요하지 않지만 16GiB 스왑이 필요한 경우 해당 페이지도 한 방향 또는 다른 방식으로 전송할 수 있습니다.
이론적으로, 모든 사용자의 99.9 %는 스왑없이 64GiB 머신 (또는 8 + GiB 머신)을 사용할 수 있으며, 어떤 것도 빠진 것을 눈치 채지 못할 것입니다. 그러나 이것은 권장되지 않습니다.
첫째, 운영 체제가 실제 메모리가 부족할 때 버릴 수있는 항목에 대한 선택이 적기 때문에 차선책입니다. 사용할 수없는 두 가지가 있습니다. 사용되지 않는 것을 스왑하거나 버퍼 캐시에서 페이지를 버립니다. 스왑이 없으면 할 수있는 일이 한 가지뿐입니다. 버퍼 캐시에서 페이지를 버리는 것은 무해하지만 성능에 눈에 띄게 영향을 줄 수 있습니다.
둘째, 스왑이 없으면 개인 익명 매핑이 실패 할 수 있습니다. 일반적으로 발생하지는 않지만 결국 모든 메모리를 만족시킬 수있는 물리적 메모리가 충분하지 않고 스왑이없는 경우 운영 체제에는 다음 중 하나만 선택할 수 있습니다.
셋째, 두려운 OOM 킬러는 이는 다소 임의의 프로세스가 종료되는 것을 의미합니다. 아니요 괜찮습니다. 이것은 당신이 일어나고 싶은 것이 아닙니다.
그 말에 따르면, 설치된 RAM의 양의 X 배로 교체 해야하는 것과 같은 조언은 수십 년 동안들은 것을 반복하고 (그리고 이해하지 못했습니다!) 무언가를 반복 한 사람들로부터 온 것입니다. 전에.
"RAM 2 배 사용"규칙은 1980 년대와 1990 년대의 경험을 기억하기 쉬웠으며 결코 "황금 진실"(대부분의 사용자에게 잘 작동하는 것)이 아니 었으며 오늘날에는 적용되지 않습니다. .
당신은 쉽게 감당할 수 있는 합리적인 양의 스왑을 가져야합니다 (예를 들어, 기가 바이트). 그래서 OS는 오래된 것들을 페이징 아웃 할 수 있고, 한번 더 많은 메모리를 요구할 때 세상은 즉시 끝나지 않습니다. 하지만 그게 다야.
mmap
작업 세트 페이지를 할당 하는 것을 고려 하십시오. 그러면 스왑 금액은 프로세스에 필요한 금액이됩니다.