우리는 많은 hadoop 클러스터를 사용하고 있습니다
이제 스왑 크기 - 16G를 사용합니다.
free -g
total used free shared buff/cache available
Mem: 125 1 123 0 0 123
Swap: 15 0 15
그러나 우리 모두 알고 있듯이 스왑은 실제로 매우 느린 디스크 메모리를 사용합니다.
사육사 서버와 같은 일부 hadoop 구성 요소에서는 스왑을 비활성화해야 합니다!
하지만 나는 hadoop 머신에서 스왑이 최소화되어야 한다고 생각합니다.
4G로 다운그레이드해야 할 것 같아요,
하지만 난 더 많은 의견을 원해
답변1
를 사용하면 스왑 사용을 최소화할 수 있습니다 swappiness
. 다음 명령을 사용하여 현재 값을 얻을 수 있습니다.
cat /proc/sys/vm/swappiness
변경하려면 다음 /etc/sysctl.conf
과 같은 줄을 편집하고 추가하십시오.
vm.swappiness = 1
(Cloudera에서 제안한대로) 실행
sysctl -p
(처럼 root
)
답변2
일반적인 조언은 다음과 같습니다.RAM이 1GB보다 큰 경우 스왑 크기는 최소한 RAM 크기의 제곱근과 같아야 하며 최대 RAM 크기의 두 배여야 합니다.
Redhat에서도 유사한 가이드를 찾을 수 있습니다.
512GB 이상의 DDR4 RAM을 갖춘 시스템만 있고 500GB, 300GB 또는 80GB의 더 작은 디스크에 Linux를 설치한다면 어떻게 될까요?
스왑의 정의(오류가 있으면 정정해주세요) 파티션인가요?디스크에시스템 메모리가 부족한 경우(32개만 가능)MB또는 1국가 표준) 그러면 시스템은 RAM이 가득 찼을 때 스와핑을 활용하여 활성 상태를 유지할 수 있습니다. 디스크 저장소는 일반적으로 RAM보다 항상 더 크고, 더 경제적이며, 더 가용성이 높으며 쉽게 고갈될 수 있기 때문입니다.32MB메모리.
21세기로 접어들면서 RAM은 이제 저렴해지고 가정용 컴퓨터는 쉽게 16GB 이상의 RAM을 가질 수 있습니다. 예를 들어 간단한 Dell 서버(및 기타 여러 서버)는 이제 최대 3TB를 제공합니다. RAM 옵션. RAM은 사용 가능한 디스크 공간을 쉽게 초과할 수 있습니다.
경험과 몇 가지 사실을 바탕으로 제 의견은 다음과 같습니다.
- 스왑 공간에 관한 모든 지침은 이제 21세기 컴퓨팅 하드웨어에서는 구식입니다.
- Android 휴대폰(Linux)에 스왑 공간이 있나요? 16,32,64GB(플래시?) 메모리를 탑재한 스마트폰과 노트북/PC의 컴퓨팅 성능 및 성능을 고려하시나요? 몇 년 전 [스왑 공간이 분할되었습니다].
- 다양한 유형의 저장 매체에 여러 Linux 배포판을 설치할 수 있습니다.
- 누구세요불필요한Linux를 실행할 수 있는 SWAP 파티션이 있습니다.
- 중요한 것은 보유하고 있는 RAM의 양과 사용 가능한 RAM의 양에 따라 시스템의 한계를 아는 것입니다.
- Swappiness = Linux 커널이 RAM 내용을 스왑 영역에 복사하는 양과 빈도를 정의하는 커널 매개변수입니다. 운영 체제가 RAM 범위 내에서 원하는 모든 작업을 수행하기를 원합니다. RAM이 100%에 도달하지 않으면 스왑으로 정의된 항목에 아무 것도 기록되지 않으므로 이 매개변수는 거의 의미가 없습니다.
- 256GB RAM이 있고 부족하다면 현 시점에서는 어떤 양의 스왑도 의미가 없습니다. 256GB RAM을 사용하는 경우 HDD 또는 SSD에서 2GB 스왑은 의미가 없습니다.질소디스크에 GB의 스왑 영역이 있으면 공간 낭비일 뿐입니다.질소GB 스왑, RAM이 100%에 도달하면 시스템이 여전히 질식하여 기본적으로 응답하지 않게 됩니다(거의 항상).
- 스왑이 필요하다고 생각되면 더 많은 RAM이 필요합니다. 시스템에 RAM이 충분하지 않은 경우 적절한 RAM 용량을 제공하는 더 새롭고 향상된 시스템이 필요합니다.
- 귀하의 질문은교체에 적합한 크기는 얼마입니까?. hadoop, Linux 또는 Windows인지 여부에 관계없이 정의에 동의하면 관련이 없습니다.교환스왑 파티션은 일부 저장 공간이므로 운영 체제는 RAM이 가득 찬 경우에만 이를 사용합니다.
- 또한 디스크 캐시를 찾고 이해합니다 ...리눅스가 내 기억을 먹어버렸어. 최상의 성능을 위해서는 항상 RAM을 최대한 많이 사용하십시오. 사용무료Linux의 명령 및 해당 값 관찰캐시됨또한사용된그리고무료.
- 나는 교환을 싫어한다.
답변3
스왑 크기를 변경하려면 먼저 스왑을 비활성화해야 합니다.
swapoff (swap partition)
sudo dd if=/dev/zero of=(swap partition) bs=1M count=(newsize in MB) oflag=append conv=notrunc
mkswap (swap partition)
swapon (swap partition)
요점은 항상 스왑을 사용하지 않도록 노력해야 한다는 것입니다. 실제로 스왑 공간이 더 많으면 더 많은 프로세스를 처리할 수 있지만 스왑 사용을 피하는 것이 목표입니다. 스왑을 사용하면 시스템의 전반적인 성능이 저하되기 때문입니다.
어떤 경우든 이것이 비활성화해야 한다는 의미는 아니며, 긴급 상황에 대비해 교체를 위해 항상 일부 디스크 공간을 확보하는 것이 좋습니다. 일반적인 조언은 다음과 같습니다.
RAM이 1GB보다 큰 경우 스왑 크기는 최소한 RAM 크기의 제곱근과 같아야 하며 최대 RAM 크기의 두 배여야 합니다.
따라서 가능하다면 하드 드라이브에 충분한 공간이 있는 한 이 규칙을 적용해 보십시오.