모든 RHEL 서버(Hadoop 서버)에서 스와핑을 비활성화하려고 합니다. 우리에게는 두 가지 옵션이 있습니다:
- 교환성을 0으로 설정하고
swapoff -a
&swapon -a
swapoff -a
, 그리고 스와핑을 비활성화합니다fstab
내가 이해한 바로는 두 옵션 모두 스와핑을 완전히 비활성화합니다.
물론 옵션 2는 swapoff -a
비활성화 했기 때문입니다 fstab
.
그러나 옵션 1은 옵션 2와 동일한 결과를 제공합니까?
답변1
테스트했을 때 무슨 일이 일어났나요?
읽어봤어?문서?
값이 0이면 사용 가능한 페이지 및 파일 지원 페이지 수가 해당 영역의 최고 수위 표시보다 작아질 때까지 스왑을 시작하지 않도록 커널에 지시합니다.
즉, 값이 0이면 스와핑이 비활성화되지 않고 스와핑이 연기될 뿐입니다.
답변2
내가 이해한 바로는 두 옵션 모두 스와핑을 완전히 비활성화합니다.
잘못된. 교환성을 0으로 설정하세요.아니요교환을 비활성화합니다.
"스왑"은 기본적으로 하드 드라이브의 가상 RAM입니다. RAM 메모리가 부족할 때 사용하세요. 스왑을 끄면 프로그램에 더 많은 RAM이 필요하면 충돌이 발생합니다. 그러지 마세요. 스왑 파일이 있습니다. 그러나 최신 기본 Ubuntu 설치(예: Ubuntu 22.04)는 기본적으로 스왑 파일을 제공하지 않으므로 Ubuntu 설치 후 스왑 파일을 수동으로 생성해야 합니다.빠르고 쉽게 만드는 방법에 대한 답변은 다음과 같습니다..
0으로 설정하면 swappiness
됩니다 . 물론아니요스왑 공간을 비활성화합니다. 나는이 사실을 알고. 저는 그것을 광범위하게 테스트했는데 여전히 교환량이 증가하는 것을 볼 수 있습니다. 나도 읽었다Linux 소스 코드의 교환 기능에 대한 설명. 대신 RAM을 확보할 수 있는 방법을 찾지 못하고 RAM의 일부 메모리를 스왑 공간으로 이동하기로 결정할 때까지 가능한 한 오랫동안 스왑 공간 사용을 연기합니다.
교환성 및 구성 방법에 대한 내 답변도 참조하세요. 또한 이를 설명하기 위해 Linux 커널 소스 코드를 인용했습니다.우분투에게 물어보기: 스왑성을 구성하는 방법은 무엇입니까?
답변이 끝나고 일화와 개인적인 경험이 시작됩니다 swappiness
.
나는 swappiness를 0으로 설정하면 32GB RAM, 고속 m.2 SSD의 64GB 스왑 파일이 있고 지속적으로 RAM이 부족해지는 시스템의 성능이 크게 향상된다는 것을 발견했습니다.
swappiness가 기본값인 60으로 설정된 경우 Chrome, Slack, Eclipse 또는 Google Meet과 같이 메모리를 많이 사용하는 특정 애플리케이션으로 전환하려고 할 때 kswapd0
실행 중에 주기적으로 1~2분의 잠금 기간이 발생합니다(그림 참조 ). top
스왑 메모리(크롬). RAM이 80% 가득 차면 이러한 작동 중지 현상이 발생하기 시작합니다. 컴퓨터는완전히 사용할 수 없음이 기간 동안 저는 터미널에 타이핑을 할 수도, 메뉴를 클릭할 수도 없었습니다.
교환성을 0으로 설정매우 도움이 됩니다!. RAM이 90% 찰 때까지 내 CPU 사용량은 그다지 높아지지 않고, 스왑 공간은 여전히 많이 사용되지만 더 효율적이며, RAM이 거의 가득 차면 컴퓨터가 매우 느려지지만 여전히 거의 사용할 수 없거나 완전히 사용할 수 없는 것은 아닙니다. !
여기에서 내 증상 중 일부를 확인하세요. 처음에는 Google Meet의 버그로 인한 것이라고 생각했지만 지금은 메모리 스와핑으로 인해 컴퓨터 속도가 느려지는 것으로 생각됩니다.https://github.com/ElectricRCAircraftGuy/bug_reports/issues/3#issue-1177137900