스왑 파티션 및 해당 규칙

스왑 파티션 및 해당 규칙

스왑 파티션 선택 시 최소한 (swap > 2xRAM)을 사용해야 한다는 것을 기억합니다. 물론 컴퓨터의 최대 메모리 용량이 매우 높기 때문에 권장하지 않습니다. 커널이 이를 지원합니다.

내 질문:각 스왑 파티션은 최대 2G까지 지원하는 것으로 기억하는데, 이는 2G 메모리가 있는 경우 2개의 2G 스왑 파티션을 생성해야 함을 의미합니다.커널이 해결되었나요? 이는 파티션에 대해 4G 스왑 공간을 생성할 수 있다는 의미입니까?

답변1

기억력이 너무 길거나 오래된 문서를 읽었습니다. 예전에는 2GB 스왑 크기 제한(대부분의 32비트 플랫폼에서)이 있었지만 몇 년 동안 그런 일이 발생하지 않았습니다. 이 제한은 2.2 커널 시리즈의 어느 시점에서 제거되었습니다.

스왑 영역의 최대 사용 가능 크기는 아키텍처 및 커널 버전에 따라 다릅니다. i386, PPC, m68k, ARM에서는 약 2GiB, sparc에서는 1GiB, mips에서는 512MiB, alpha에서는 128GiB, sparc64에서는 3TiB입니다. 2.3.3 이후의 커널에는 그러한 제한이 없습니다.

답변2

무언가가 RAM에 맞지 않으면 스왑 영역이 "오버플로"됩니다. 디스크는 RAM보다 몇 배나 느리기 때문에 (긴급 상황이거나 매우 특이한 작업 부하가 아닌 한) 영원히 사용하고 싶지는 않습니다. 따라서 당신이 해야 할 일은 메모리 사용량이 얼마나 다른지 알아내고, 가능성이 없는 최대 사용량만 맞지 않도록 메모리를 구성하고, 해당 최대에 대한 스왑 공간을 구성하는 것입니다. 위에서는 워크로드의 섬세한 균형 조정, 성능 저하를 충분히 지불할 "가능성이 없는" 것, 극단적인 스파이크를 허용할 수 있는 여유 공간의 정도입니다. 따라서 스왑 공간 = RAM의 두 배라는 표준 경험 법칙은 완전히 말도 안되는 것입니다. 반면에 디스크는 저렴하며 하드 데이터가 없는 한 RAM을 두 배로 늘리면 괜찮습니다 ;-)

답변3

Village's Bounty와 관련하여 내가 찾을 수 있는 것은 커널 커밋 r225076 이전의 기본 기본값이 32GB, 최대 32개의 슬라이스, 총 1TB RAM(32^2 = 1024)이었다는 2011년 8월의 보관된 메일링 목록 게시물뿐입니다. r225076에서 그 후 슬라이스당 제한이 제거되지만 스레드는 계속해서 다음과 같이 말합니다.1TB라는 실질적인 제한은 여전히 ​​고려해야 합니다., 32비트 정수의 크기 제한으로 인해. 이 스레드를 계속 읽으면 2011년 8월 23일 현재 커밋에서 슬라이스당 크기가 256GB로 변경되었습니다.

보다Nable 아카이브 스레드

관련 정보