저는 Debian Squeeze 6.0.5를 실행하고 있습니다. 스왑 메모리를 사용하면 컴퓨터 실행 속도가 느려지나요? 그렇다면 시스템 설치 후 스왑 메모리 크기를 어떻게 줄일 수 있습니까?
답변1
항상 이를 줄이고 싶지는 않지만 일반적으로 게으른 사용량이 증가합니다. 스왑에 깨끗한 페이지가 많을수록 더 좋습니다. 즉, 여유 RAM이 필요할 때 RAM에서 쉽게 제거할 수 있다는 의미입니다. 그러나 Linux VM에는 스와핑과 관련하여 몇 가지 이상한 동작이 있습니다. 집중적인 디스크 I/O(예: 대용량 파일)로 인해 cp
시스템이 불필요한 스와핑을 많이 수행할 수 있습니다. 이는 다음과 같은 방법으로 어느 정도 완화될 수 있습니다.줄이다 vm.swappinness
그리고증가하다 vfs_cache_pressure
이러한 대책이 항상 예상대로 작동하는 것은 아닙니다. 언급하는 것이 타당하다고 생각합니다.교환여기서는 일부 작업 부하에 유용할 수 있습니다.
답변2
일시적으로 스왑을 끄려면 루트로 다음 명령을 사용하십시오.
swapoff -a
다시 켜려면 다음 단계를 따르세요.
swapon -a
영구적으로 끄려면 파일을 편집 /etc/fstab
하고 유형 열에 스왑이 있는 모든 줄을 주석 처리하세요.
더 많은 스와핑이 항상 성능을 향상시키는 것은 아닙니다. 때로는 이를 줄이거나 끄는 것이 더 나을 때도 있습니다. 이는 모두 애플리케이션 혼합에 따라 다릅니다.
나는 빠르게 Google을 검색하여 주제에 대한 훌륭한 기사를 찾았습니다.
https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space
답변3
스와핑은 기본적으로 두 가지 목적으로 사용됩니다. 물리적 메모리가 고갈된 경우에도 시스템이 계속 실행될 수 있지만 성능 비용이 발생합니다. 이를 사용하지 않으면 물리적 메모리가 고갈되어 충돌, 잠금 및 현재보다 더 많은 메모리를 요청할 때 메모리 부족 오류가 발생합니다. 실제로 사용 가능하며 종료되었습니다. 시스템이 있습니다. 이 경우 성능 저하는 과도한 스왑핑이 아닌 활성 프로세스에 강제로 사용하게 된 증상입니다.
또한 다시 필요할 때까지 메모리에서 덜 사용되는 페이지를 디스크로 이동하여 실제 메모리를 보다 효율적으로 사용합니다. 이는 캐싱 목적으로 메모리를 확보하는데, 이는 자주 사용되지 않는 프로그램 메모리 세그먼트를 실제 메모리에 잠그는 것보다 공간을 더 효율적으로 사용하는 경우가 많습니다.
오랫동안 지속되어 온 모범 사례는 스왑 공간 크기를 실제 메모리의 두 배로 설정하는 것입니다. 즉, 메모리가 1GB인 경우 스왑에 2GB를 사용합니다. 이는 여전히 좋은 조언이지만 실제로 4GB 이상의 물리적 RAM이 있는 최신 시스템에서는 일반적으로 시스템의 물리적 메모리와 동일한 스왑 양으로 이를 줄일 수 있습니다.
스왑을 사용할 때 성능을 향상시키기 위해 수행할 수 있는 몇 가지 작업이 있습니다. 드라이브가 여러 개인 경우 스왑 영역을 더 빠르거나 덜 사용되는 하드 드라이브로 옮기는 것이 좋으며, IO 집약적인 시스템에서는 이렇게 하면 성능이 크게 향상될 수 있습니다. 기존 하드 드라이브의 경우 스왑 영역을 실제 디스크 중심에 더 가깝게 이동하는 것이 도움이 될 수 있습니다. 드라이브 헤드의 이동이 적기 때문에 일반적으로 중앙에서 검색 시간이 더 짧기 때문입니다.
SSD를 교체하는 것도 많은 도움이 될 수 있지만 이로 인해 SSD에 많은 마모가 발생하고 수명이 단축될 수 있음을 경고하겠습니다.
물론, 메모리 성능을 향상시키는 가장 좋은 해결책은 일반적으로 메모리에 RAM을 더 많이 투자하는 것입니다. 메모리 사용량을 살펴보고 스왑 영역이 많이 사용되고 여유 메모리가 거의 또는 전혀 없다는 것을 알 수 있다면 이제 더 많은 RAM에 투자할 때입니다.
답변4
그것을 사용하는 것은 사실이지만 거기에는 없습니다. 동시에 실행 중인 메모리를 많이 차지하는 프로그램이 너무 많으면 속도가 느려지고 스왑 공간이 사용됩니다.
정말로 파티션을 줄이고 싶다면 livecd를 시작하고 gparted
파티션을 시작하고 크기를 조정하세요.