
방금 새 240GB SSD에 Ubuntu 15.04를 설치했는데 결과 설치의 /dev/ubuntu-vg/swap_1이 137GB라는 것을 즉시 확인했습니다. 이는 과도하고 심지어 비생산적인 것처럼 보이지만 아마도 Ubuntu 설치 프로그램은 시스템에 128GB RAM이 있기 때문에 이를 선택했을 것입니다.
~140GB의 스왑을 갖는 것이 유용한지, 그렇지 않은 경우 스왑에 적합한 크기는 어느 정도인지에 대해 강한 감각을 갖고 있는 사람이 있습니까? 나는 I/O가 많은 바이너리를 실행합니다. 관련이 없을 수도 있지만 이 머신은 듀얼 CPU Xeon(E5)이라는 점에 주목하겠습니다.
아래 Terrance가 제안한 링크를 참고한 결과, Ubuntu가 설치된 240GB SSD의 절반 이상을 차지하고 있기 때문에 자동 스왑 140GB를 ~4GB로 줄이고 싶은 마음이 들었습니다!
답변1
시스템에 그 정도의 RAM이 있으면 실제로 큰 스왑 파티션이 필요하지 않습니다. 필요한 대부분의 작업은 RAM에서 더러워지고 교체해야 할 정보를 교체하는 것이지만 4GB에서 16GB 사이이면 충분합니다.
아래 링크에서 좋은 정보를 얻으실 수 있습니다.
답변2
필요한 스왑 양은 항상 워크로드에 따라 다르지만 이는 확실히 과도한 양의 스왑이며 거의 확실하게 지나치게 단순한 "스왑 = RAM * x" 유형 계산에 기인할 수 있습니다.
짧은 대답: 제 생각에는 4GB 스왑이면 거의 항상 충분합니다.
긴 답변: 스왑은 항상 시스템이 작동하는 시간을 대비하도록 설계되었습니다.비정상적으로- 즉, 프로세스별 RAM 사용량이 실제 RAM 용량에 가깝거나 초과합니다. 실행 중인 프로세스가 매우 예측 가능한 양의 RAM을 사용하는 경우(예: 특정 힙 제한을 구성한 데이터베이스 서버) RAM 사용은 어느 정도 안정적일 것이며 스왑은 사용되지 않을 것입니다. 프로세스의 RAM 사용이 물리적 RAM에 가깝거나 초과하지 않을 것이라고 확신하는 경우 스왑이 필요하지 않습니다. 그러나 일반적인 서버에서는 일반적으로 특정 기간 동안 많은 양의 메모리를 소모하는 작업이 실행될 가능성이 있으며, 이로 인해 RAM 사용량이 물리적 RAM에 가깝거나 이를 초과하면 스왑이 개입하여 시스템을 저장합니다. 프로세스를 종료하거나 효율적으로 실행하기에 충분한 캐시 공간이 부족합니다.
4GB 스왑은 대용량 RAM이 있는 시스템에서도 일반적으로 충분한 스왑이라고 말합니다. 시스템이 이미 근처에서 작동하고 있는 경우 상대적으로 메모리를 많이 사용하는 1~2개의 프로세스가 물리적 RAM을 초과하는 데 충분하다고 느끼기 때문입니다. 그 한계. 나느끼다마치 4GB 이상 부족한 경우 훨씬 더 심각한 문제가 발생하여 메모리를 많이 사용하는 프로세스를 구성하여 해결해야 하는 것처럼 보입니다. 2GB RAM보다 훨씬 더 많은 RAM을 차지하는 프로세스는 일반적으로 구성을 통해 또는 물리적 RAM이 얼마나 남아 있는지 지능적으로 인식하여 RAM 사용을 자체 제한하도록 프로그래밍됩니다.
물론 스왑이 "충분하다"는 정도에 대한 다른 의견은 다양할 것입니다. 어떤 사람은 1GB, 2GB, 8GB 등이라고 말할 것입니다. 어떤 사람은 필요하지 않다고 말할 것입니다.어느그 정도의 물리적 RAM이 필요합니다(하지만 동의하지 않습니다).
한 가지 더: "최대 절전 모드"에는 모든 프로세스 메모리를 쓰기에 충분한 스왑 공간이 필요하므로 스왑 공간이 실제 RAM보다 훨씬 작으면 최대 절전 모드를 사용할 수 없습니다. 128GB RAM이 있는 시스템에서는 어쨌든 최대 절전 모드를 원하지 않을 것입니다. 최대 절전 모드 권한을 위해 그렇게 많은 스왑 공간을 예약하면 디스크 공간을 크게 차지할 뿐만 아니라(특히 SSD의 경우) 속도도 상당히 느려질 것입니다. 재개 시 디스크에서 최대 128GB를 로드하는 것을 상상해 보십시오. 이는 일반 부팅보다 훨씬 느릴 것입니다.