메모리가 매우 낮지 않으면 스와핑은 전혀 의미가 없습니다.
- 디스크는 RAM보다 1,000,000배 느립니다.
- 스왑으로 인해 모든 것이 훨씬 느려집니다.
RAM이 없는 마지막 순간을 제외하고는 전혀 활성화되어서는 안 됩니다. 왜? RAM이 백만 배 더 빠르기 때문입니다.
답변1
스와핑으로 인해 모든 것이 느려지는 것은 아닙니다. 실제로는 작업이 더 빨라집니다.
일부 응용 프로그램은 페이지를 메모리에 로드하지만 라이브러리 및 모든 종류의 복잡성, 메모리 할당 등을 포함하여 응용 프로그램이 구축되는 방식으로 존재하지만 실행 가능한 경로는 이를 사용하지 않습니다.
그렇다면 이러한 메모리 페이지를 버리고 다른 용도로 교환하고 해제하는 것은 어떨까요? 이제 필요한 작업에 더 많은 RAM을 사용할 수 있습니까? 디스크 I/O 캐시를 사용하는 경우에도 사용하지 않는 콘텐츠를 스왑하도록 푸시하여 RAM을 더 잘 활용할 수 있습니다.
이제 우리는 "모든 것에 적합한" 솔루션이 없다는 것을 알고 있습니다. 이것이 바로 현대 시스템이 허용하는 이유입니다.동조;"RAM이 낮을 때만 스왑 사용"에서 "기회에 따라 스왑에 항목 넣기"로 이동할 수 있습니다. 다양한 사용 사례는 다양한 조정 매개변수를 통해 이점을 얻을 수 있습니다. 제로 스왑이 최상의 솔루션인 일부 사용 사례도 있습니다.
RAM이 부족한 경우에만 스왑을 사용하려면 Linux의 "swappiness" 설정이 도움이 될 수 있습니다.
답변2
메모리가 매우 낮지 않으면 스와핑은 전혀 의미가 없습니다.
이는 시스템이 100% 예측 가능한 워크로드를 실행하는 경우에만 해당됩니다. 예를 들어, 처리하는 작업이 완전히 알려져 있고 계획된 하나의 특정 애플리케이션만 실행하는 서버/VM입니다.
그러나 Linux 데스크톱 컴퓨터를 실행하고 있다고 가정해 보겠습니다. 대용량 비디오 파일을 작업 중이며 잠시 휴식을 취하고 브라우저에서 일부 Netflix 쇼를 시청하기로 결정했습니다. 하지만 Netflix에 질려 게임을 하기로 결정합니다.
비디오 편집기를 페이지에서 꺼내 교체하면 게임 성능이 더 좋아질 것입니다.
왜냐하면RAM은 빠르며 다음 용도에 가장 적합합니다.실제로 사용자에게 대면하는 작업을 수행하고 있습니다.- 실제 사용자가 실제로 운전하는 경우 이는 다소 예측할 수 없습니다. 컴퓨터는 사용자의 마음을 읽을 수 없지만 지식을 바탕으로 추측할 수는 있습니다. 애플리케이션의 경우 사용자 입력을 받거나 작업을 수행할 때 RAM이 있을 수 있습니다.
답변3
스와핑으로 인해 시스템 속도가 느려지지는 않습니다. RAM보다 더 많은 메모리를 사용하려는 프로그램을 실행하면 시스템 속도가 느려질 수 있습니다. 이러한 프로그램이 너무 많은 메모리를 사용하지 않으면 스왑이 사용되지 않으며 속도가 느려지지 않습니다.
또는 더 나쁜 경우에는 스왑 없이 동일한 프로그램을 실행해 보십시오. 이제 메모리가 부족하면 시스템이 정지됩니다. 아니면 OOM 리퍼에 의해 무언가가 죽었습니다. 이제 스왑 없이 더 빨라졌나요?
이제, 오작동하는 프로그램을 얻었고 "아, 100G의 스왑 공간과 20G의 메모리를 봐라. 바로 거기에 있으니 90G의 메모리를 사용하자"라고 나온다면, 더 제한적이라면, 이렇게 하지 않는다면, 시스템에 스왑이 많을수록 속도가 느려집니다. 해결책은 교환을 줄이는 것이 아닙니다. 해결책은 매개변수를 조정하여 프로그램을 제한하거나 프로그램을 메모리 제한 컨테이너에 넣는 것입니다. 이를 통해 프로그램의 스왑 사용량이나 전체 메모리 사용량을 구체적으로 제한할 수 있습니다.
스와핑의 기본 이론은 (예를 들어) 스왑 장치가 메모리보다 10배 느리므로 페이지의 10분의 9 정도가 RAM에서 나오고 10분의 1이 스왑에서 나오길 원한다는 것입니다. -심지어. 어떤 경우에는 시스템이 어느 페이지를 교체해야 할지 예측할 수도 있고, 필요할 때 이미 메모리에 있도록 미리 읽기 시작할 수도 있으며, 그런 다음 비율이 좋은 경우에만 가능합니다. 또는 애플리케이션에 메모리 누수가 발생하여 해당 페이지가 더 이상 사용되지 않는 경우 스왑을 통해 무료로 더 많은 메모리를 얻을 수 있습니다.
스왑의 요점은 스왑 장치가 램보다 10배 또는 100배 느릴 수 있지만 램보다 10배 또는 100배 저렴하다는 것입니다. 따라서 더 많은 램이 있는 척하고 비용을 시간과 교환할 수 있습니다. 돈과 메모리 슬롯이 있다면 꼭 더 많은 메모리를 구입하고 스왑 사용을 중단하세요!
오늘날 우리 컴퓨터는 Turing 기계 모델을 기반으로 합니다. 그러나 이상적인 튜링 기계에는 무한히 긴 테이프(메모리)가 있는 반면, 우리 컴퓨터에는 유한한 메모리가 있습니다. 교환은 이상적인 모델에 더 가까워지는 방법 중 하나일 뿐입니다.