swappiness = 10이 권장되는 이유는 무엇입니까?


9

Ubuntu의 SwapFaq에서 값을 swappiness=10권장 합니다.

왜 10보다 값이 권장 swappiness=0됩니까?

찬성 10 또는 찬성 0이 있습니까?



3
@Mitch 그 질문은 사람들이 교체를 줄이려고 하는 이유에 관한 것 입니다. 이 질문은 다릅니다. swappiness가 왜 0보다 높아야하는지 묻고 있습니다 . 따라서 사람들이 왜 그렇게 낮게 권장하는지 묻지는 않습니다 . 추천이 왜 높은지 묻습니다 . 거기에 대한 답변은 (합리적으로) 스왑 피스를 줄이려는 주장에 동의하지 않기 때문에 여기에 내 답변과 겹치는 부분 이 있지만 궁극적으로 이들은 별도의 답변이있는 별도 (관련되어 있지만) 질문이라고 생각합니다.
Eliah Kagan

@EliahKagan touché :)
Mitch

답변:


9

swappiness=0꼭 필요할 때까지 스왑을 기다립니다. 적당한 값을 설정 swappiness=10하면 페이지가 메모리에서 디스크로 좀 더 쉽게 스왑됩니다. 이렇게하면 한 번에 많이 교체 할 필요가 없습니다. 이러한 요구는 성가신 지연을 초래할 수 있습니다.

또한 프로세스가 종종 실행되지만 장시간 동안 아무것도 수행하지 않습니다. 많은 데몬 (백그라운드 서비스)이이 방식으로 작동합니다. 한동안 사용하지 않은 백그라운드 응용 프로그램이있을 수 있습니다. 요즘 일부 응용 프로그램은 Chromium 및 Chrome과 같은 여러 프로세스로 구현되며 각 탭에는 별도의 스레드가 아닌 별도의 프로세스가 있습니다. swappiness10과 같은 값으로 설정 하면 적극적으로 사용되지 않는 이러한 백그라운드 작업이 RAM에 계속 남아있을 수있는 경우에도 메모리로 교체됩니다. 그런 다음보다 적극적으로 사용되는 프로세스가 더 많은 RAM을 할당해야하는 경우 더 빠르게 할 수 있습니다.

결론적으로, 프로세스 가 필요보다 빨리 RAM에서 디스크로 스왑되도록 허용 하면 프로세스가 메모리를 할당 할 때 성능상의 이점과 지연 시간이 줄어 듭니다. 이는 프로세스를 다시 교체하는 데 걸리는 시간이 소요됩니다. 그러나 이것은 일반적으로 능동적 사용 프로세스가 메모리를 할당 및 해제하는 프로세스보다 훨씬 덜 빈번하게 수행되므로 절충은 종종 가치가 있습니다.


또한 드라이브 버퍼를 고려해야합니다. 512MB 버퍼와 4GB RAM의 SSD가있는 경우 모든 프로그램에서 약 1GB의 RAM 을 거의 즉시 할당 할 수 있기 때문에 성능 문제에 대해 걱정하지 않고이 값을 10으로 남겨 둘 수 있습니다 . 256MB 버퍼와 8GB RAM의 SSD가 있으므로 거의 필요하지 않은 약 1GB의 빠른 할당을 보장하기 때문에 10으로 남겨 둡니다.
stackount
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.