사용교환RAM 대신 공간이 괜찮습니다.크게 느려짐컴퓨터.
그렇다면 사용 가능한 RAM이 충분할 때 Linux 시스템(Arch)이 스왑을 사용하는 이유는 무엇입니까?
아래에서 내 conky 출력을 확인하세요.
또한 이것이 제가 겪고 있는 속도 및 시스템 응답 문제의 원인일 수 있나요?
출력 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 커널은 거의 사용되지 않는 스왑 메모리 페이지로 이동합니다(예: getty
X11 및 일부 다른 비활성 데몬만 사용되는 경우).
스왑 공간 사용량이 문제가 됨사용 가능한 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를 사용해야 합니다.