RAM에 충분한 여유 공간이 있는데 스왑을 사용하는 이유는 무엇입니까?

RAM에 충분한 여유 공간이 있는데 스왑을 사용하는 이유는 무엇입니까?

사용교환RAM 대신 공간이 괜찮습니다.크게 느려짐컴퓨터.

그렇다면 사용 가능한 RAM이 충분할 때 Linux 시스템(Arch)이 스왑을 사용하는 이유는 무엇입니까?

아래에서 내 conky 출력을 확인하세요.

i686|가동 시간: 12시간 22분 36초|메모리: 144MiB/1.23GiB|스왑: 144MiB/502MiB|CPU: 12%|…

또한 이것이 제가 겪고 있는 속도 및 시스템 응답 문제의 원인일 수 있나요?

출력 free -m:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          1257       1004        252          0         51        778
-/+ buffers/cache:        174       1082
Swap:          502        144        357

답변1

이 동작은 다음 값을 설정하여 구성할 수 있습니다.

/proc/sys/vm/swappiness

기본값은 60입니다. 0으로 설정하면 RAM이 아직 남아 있을 때 스왑을 사용하지 않는다는 의미이고, 100은 가능한 한 빨리 메모리를 스왑 아웃한다는 의미입니다.

값을 일시적으로 변경하려면(재부팅 시 손실됨):

sudo sysctl vm.swappiness=10

값을 영구적으로 변경하려면 파일을 편집하십시오.

/etc/sysctl.conf

루트(예 sudoedit /etc/sysctl.conf: )로 다음 행을 변경하거나 추가합니다(존재하지 않는 경우).

vm.swappiness

원하는 값( vm.swappiness=10)으로 설정합니다. 파일이 존재하지 않으면(예: Arch Linux) /etc/sysctl.d/99-sysctl.conf대체가 시도됩니다.

사용 가능한 메모리로 교체하는 것이 좋은 것인지 나쁜 것인지에 대한 논쟁이 있었지만Ubuntu 도움말은 데스크탑 시스템에 대해 10의 값을 제안합니다.. 당신은 또한 볼 수 있습니다이 튜토리얼은 CentOS Digital Ocean을 위한 것입니다..

답변2

Linux 시스템을 사용하는 것이 정상입니다.일부아직 여유 RAM이 있어도 스와핑이 가능합니다. Linux 커널은 거의 사용되지 않는 스왑 메모리 페이지로 이동합니다(예: gettyX11 및 일부 다른 비활성 데몬만 사용되는 경우).

스왑 공간 사용량이 문제가 됨사용 가능한 RAM이 충분하지 않은 경우에만그리고 커널은 애플리케이션 실행을 계속 유지하기 위해 계속해서 메모리 페이지를 스왑으로 이동했다가 다시 RAM으로 이동해야 합니다. 이 상황에서 시스템 모니터 응용 프로그램은 많은 디스크 I/O 활동을 표시합니다.

비교를 위해 두 명의 사용자가 X11 세션을 사용하여 로그인하고 둘 다 GNOME 데스크탑을 실행하는 Ubuntu 10.04 시스템은 ~600MB의 스왑과 ~1GB의 RAM(버퍼 및 fs 캐시 제외)을 사용하므로 스왑 데이터 사용량이 정상적으로 보입니다. .

답변3

Linux는 RAM이 가득 차기 전에 스왑을 시작합니다. 이는 성능과 응답성을 향상하기 위해 수행됩니다.

  • 때로는 RAM이 프로그램 메모리 저장보다 디스크 캐시에 더 적합하기 때문에 성능이 향상됩니다. 따라서 한동안 사용하지 않은 프로그램은 교체하고, 자주 사용하는 파일은 캐시에 보관해 두는 것이 좋습니다.

  • 메모리가 가득 차고 일부 프로그램이 실행 중일 때보다 시스템이 유휴 상태일 때 페이지를 교환하고 작업을 완료하기 위해 더 많은 RAM을 요청하면 응답성이 향상될 수 있습니다.

물론 스와핑으로 인해 시스템 속도가 느려지지만 스와핑의 대안은 스와핑이 아니라 더 많은 RAM을 사용하거나 더 적은 RAM을 사용하는 것입니다.

답변4

더 많은 메모리를 사용할 수 있습니다

모두가 말했듯이 스왑은 사용하지 않는 메모리를 제거하여 더 많은 사용 가능한 메모리를 확보하는 데 도움이 됩니다.

동면

하지만 교환은 다음 용도로도 사용할 수 있습니다.동면이는 노트북을 소유하고 있거나 퇴근하기 전에 에너지를 절약하고 컴퓨터와 작업을 잠자기 상태로 두려는 경우에 유용합니다. 이렇게 하면 다음날 아침을 더 빨리 시작할 수 있습니다.

최대 절전 모드 기능을 갖추는 것은 스와핑을 위해 최소한 RAM 크기를 확보하라는 권장 사항을 여전히 볼 수 있는 주요 이유 중 하나입니다. 이를 통해 시스템은 사용된 모든 RAM을 스왑에 넣고 절전 모드로 전환할 수 있습니다.

결점

프로세스가 스왑되면 스왑이 암호화되지 않는 한(물론) 종료 후에도 스왑에서 데이터를 읽을 수 있습니다.

최대 절전 모드에서 암호화 교환을 사용하는 것은 모든 배포판에서 가능하지 않습니다. 복원하기 전에 볼륨을 활성화하려면 상수 암호화 키(일부 설정은 부팅할 때마다 스왑 공간 암호화 키를 무작위로 생성함)와 initrd/initramfs를 사용해야 합니다.

관련 정보