스왑 아웃 된 페이지를 캐시하는 것은 상당히 비생산적입니다. 페이지를 서로 바꾸면 페이지를 메모리에 먼저 캐시하고 올바른 위치로 옮기는 것 외에는 어떤 이점이 있습니까? 페이지가 사전에 스왑되어 있어도 "그냥"스왑하는 것이 더 합리적이지 않습니까? 실제로 캐싱 스왑은 단지 자원 낭비가 아닌가?
스왑 아웃 된 페이지를 캐시하는 것은 상당히 비생산적입니다. 페이지를 서로 바꾸면 페이지를 메모리에 먼저 캐시하고 올바른 위치로 옮기는 것 외에는 어떤 이점이 있습니까? 페이지가 사전에 스왑되어 있어도 "그냥"스왑하는 것이 더 합리적이지 않습니까? 실제로 캐싱 스왑은 단지 자원 낭비가 아닌가?
답변:
더 많은 연구를 한 결과, SwapCached라는 용어 /proc/meminfo
가 오해의 소지 가 있음을 발견했습니다 . 실제로, 이는 메모리와 스왑에서 동시에 바이트 수와 관련되므로 이러한 페이지가 더티가 아니더라도 스왑 아웃 할 필요가 없습니다.
스왑과 RAM간에 페이지가 중복되는 것은 다음 중 하나에 해당 할 때 디스크를 기다리지 않는 것입니다.
그들에게서 무언가를 읽을 필요가있다
그들은 다른 것을위한 공간을 만들기 위해 추방되어야합니다.
만일 그들이 스왑에만 있었다면, 사례 1은 그들이 디스크에서 들어 오기를 기다리는 것을 의미합니다. RAM에만있는 경우 사례 2는 디스크로 나가기를 기다리는 것을 의미합니다.
(물론 사례 2는 실제로 이러한 페이지를 제거하는 것이 더 저렴하기 때문에 약간 더 복잡합니다. 따라서 커널은 우선적으로 페이지를 제거 할 것이지만 요점은 분명해야합니다.)