스왑 파티션의 중요성


34
  • 스왑 파티션의 목적은 무엇입니까?
  • 스왑 파티션이 충분하다는 것을 어떻게 알 수 있습니까? 너무 많거나 적지 않습니다.

내 우분투 PC는 일반적인 것들에 사용됩니다.

  • 웹 (이메일, 페이스 북 등)
  • 일부 영화
  • 게임은 드물다

게시 된 내용에 따라 스왑이 너무 많은 것 같습니다. 3GB RAM, 300GB HD 및 스왑을위한 8GB 파티션.
lamcro

2
사용되지 않는 여분의 스왑은 당신을 해치지 않을 것이며, 드라이브의 1.7 %를 더 작게 만들기 위해 노력할 가치가 없을 것입니다. 예, 아마도 당신이 사용하는 것보다 훨씬 큽니다. 걱정하지 않습니다.
msw

1
시스템에 메모리를 추가 할 경우 스왑을 확대 할 필요가 없습니다 ... :)
JanC

답변:


15

스왑 파티션은 두 가지 목적으로 사용됩니다.

  • '백업'RAM 역할을합니다. 즉, 컴퓨터에 RAM이 부족한 경우 스왑 영역을 추가 메모리의 임시 소스로 사용합니다. 보다 구체적으로 말하자면, 사용하지 않는 항목을 RAM에서 스왑 영역으로 '스왑'하여 해당 순간에 필요한 응용 프로그램을위한 여유 공간을 확보합니다. 하드 드라이브의 데이터 전송 속도가 일반 RAM의 데이터 전송 속도보다 훨씬 낮기 때문에 이는 이상적이지 않습니다. 실제로 이것은 스왑 영역에서 정보를 검색하는 것이 훨씬 느리다는 것을 의미합니다.

  • 컴퓨터가 최대 절전 모드 일 때 사용됩니다. 최대 절전 모드는 RAM의 이미지를 현재 상태 (예 : ISO가 이미지를 나타냄)로 가져와 스왑 영역에 저장합니다. 그런 다음 컴퓨터가 다시 시작될 때이 이미지를 다시로드합니다.

  • 가장 유용한 스왑 영역은 (RAM * 1.5) 이상이어야하지만 더 많이 권장됩니다. 예를 들어 RAM이 3GB 인 시스템에서 스왑 영역이 7.2gb입니다.


무언가를 사용하지 않으면 디스크로 바꾸고 RAM을 사용하는 용도로 사용하는 것이 이상적입니다 (예 : CUPS 또는 다른 데몬을 자주 사용하지 않는 경우). 실제로 많이 사용되는 데이터).
JanC

-1; 데스크탑 PC에서 "(RAM * 1.5) 이상이 권장되지만"? 당신은 몇 년 동안 거짓된 기존의 지혜를 반복하고 있습니다.

@ user280493 당신이 댓글을 달았을 때 몇 년 전 ...
Crisfole

7

이것은 스왑 파티션의 "올바른"크기에 대한 이 질문 과 매우 비슷 합니다. 내 대답 과 거의 동일한 정보 적용됩니다. 기본적으로 최대 절전 모드를 원할 경우 일반적으로 스왑 공간이 RAM보다 커야하며 1 또는 2GB와 같은 둥근 숫자는 쉽게 충분합니다. 스왑은 RAM보다 훨씬 느리기 때문에 기가 바이트의 스왑을 채우면 컴퓨터가 거의 사용 불가능하게 느려집니다.

스왑 파티션도 실제로 필요하지 않습니다-스왑 파일 (주류 리눅스 파일 시스템에서 사용 가능)은 동일한 성능을 제공하고 충분하지 않다고 판단되면 스왑 공간을 추가하기가 쉽습니다.


4

여기 스왑에 대한 매우 깊은 정보

어떤 사람들은 당신의 숫양의 두 배를 말하지만 개인적으로 나는 이것을 추천합니다 :

스왑 = 1.5 X 총 램

예 :

램이 2Gb 인 경우-> 스왑 = 1.5 x 2 = 3

PD : Ubuntu Desktop은 최대 절전 모드로 전환 (PC 꺼짐, 전원 불필요, 프로그램 상태 저장)을 사용합니다. 최대 절전 모드가 중요한 경우 더 많은 스왑 공간이 있고 램 + 스왑 오버플로가 발생합니다.


2

free명령은 사용중인 스왑 양을 알려줍니다. 예를 들어이 머신에서 :

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

2GB (1947m) RAM이 있으며 시스템이 대부분을 사용했음을 보여줍니다. 그러나 312m은 I / O 버퍼에 사용되며 시스템이 디스크 캐시로 채우기로 결정한 나머지 (758m)입니다.

디스크 캐시는 내용에 느린 디스크 대신 빠른 메모리를 사용하기 때문에 흥미 롭습니다. 디스크에서 내용을 가져올 수 있지만 필요한 경우에 대비하여 보관합니다. 이는 시스템이 디스크에서 해당 데이터를 대신 찾을 수 있다는 것을 알고 있기 때문에 필요한 경우 즉시 회수 할 수있는 758m의 메모리가 있음을 의미합니다.

그렇기 때문에 버퍼링과 캐시가 없다면 RAM (1154m)의 절반을 사용할 수 있다는 것을 보여주는 두 번째 줄이 있습니다.

세 번째 줄은 무려 3m가 사용 된 스왑 파티션이 너무 컸다는 것을 보여줍니다. 이것은 커널이 "언제나 현관"에 갇혀서 곧 사용할 필요가없는 것들입니다.

free지금 스냅 샷을 제공 하지만 vmstat실행중인 사진을 제공 할 수 있습니다.

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

여기에는 많은 정보가 있지만 관심의 대상은 스왑 인 (si) 또는 스왑 아웃 (so) 트래픽이 없다는 것입니다. 이는 지난 10 초 동안 스왑을 전혀 사용하지 않음을 의미합니다.


0
  • 스왑 영역은 제한된 공간 RAM 메모리를 지원하는 데 사용되는 하드 디스크 공간의 일부입니다. RAM 크기가 제한되어 있으므로 일부 응용 프로그램은 사용 가능한 RAM 공간보다 많은 RAM이 필요합니다.이 경우 RAM을 지원하는 데 사용되는 가상 메모리라고도하는이 스왑 공간.
  • RAM 속도에 비해 속도가 느립니다. 큰 응용 프로그램을 실행하면 해당 응용 프로그램에서 가장 최근에 사용한 부분이 하드 드라이브의 스왑 영역으로 교체되고 필요할 때 스왑 영역에서 다시 교체됩니다. 이것은 운영 체제에 실제보다 더 많은 RAM이 있다는 느낌을줍니다.
  • 운영 체제를 설치하는 동안 생성 된 하드 디스크의 전용 파티션입니다.
  • RAM 크기의 두 배의 스왑 영역을 생성하면 좋습니다.
  • 다음 명령을 사용하여 사용 가능한 스왑 영역을 확인할 수 있습니다.

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    

0

하드 드라이브 속도가 느리지 만 비교적 높은 RAM (8GB)의 랩톱이 있습니다. 이 설정에서 다음과 같은 이유로 스왑 드라이브가 비생산적인 것으로 나타났습니다.

  1. 애플리케이션을 스왑에서 다시 가져 오는 것은 속도가 느리고 애플리케이션을 처음부터로드하는 것과 비슷합니다. 차라리 예기치 않게 멈추는 환경보다 애플리케이션을 닫고 다시로드해야하는 경우에도 빠르게 응답하는 환경을 원합니다.

  2. 최대 절전 모드 기능을 원한다면 디스크에 많은 데이터를 쓰는 것을 의미합니다. 즉 일정한 될 배터리 드레인 이 지속적으로 (의 기본 동작 수행 된 경우 swappiness 60), 또는 만 (swapiness을 줄임으로써) 최대 절전 모드시에 실시하는 경우, 그것은 실제로 최대 절전 모드에 시간이 오래 걸릴 것입니다. 디스크에 일시 중단하는 대신 RAM으로 일시 중단하는 것이 상당히 만족 스럽다는 것을 알았습니다. 며칠 동안 정지 상태를 유지할 수 있으며 최대 절전 모드보다 훨씬 빨리 일시 중단되지 않습니다.

  3. 하드 드라이브가 느리기 때문에 디스크 캐시 용으로 1GB의 RAM을 예약 하여 메모리를 효과적으로 교환합니다. 이것은 내 컴퓨터를 빠르게 유지하지만 응용 프로그램에 7GB 중 8GB의 RAM 만 사용할 수 있음을 의미합니다. 내가 그것을 달성하기 위해 사용하는 소프트웨어 는 RAM의 88 %가 사용될 때 오래된 브라우저 탭을 죽이는 Earlyoom 포크입니다 . 때때로 사라진 이전 브라우저 탭을 다시로드해야합니다.

이 조언은 언제 적용되지 않습니까?

  • 당신이있을 경우 빠른 하드 디스크 드라이브 또는 SSD를하고, 배터리 소모에 대한 적은 관심을 가지고, 그때는 위에서 설명한 단점은 적용되지 않습니다. 초기 SSD는 마모에 문제가있을 수 있지만 2018 년 이후에 판매 된 SSD는 괜찮을 것이라고 생각합니다.

  • 컴퓨터에 RAM거의 없거나 동시에 메모리가 많은 여러 응용 프로그램을 사용하려는 경우 단점에 관계없이 스왑을 사용하여 작업을 완료해야 할 수 있습니다. 메모리가 저렴 해지기 전에 스왑의 주요 사용 사례였습니다.

  • 실제로 최대 절전 모드가 필요한 경우 (노트북을 일시 중지하고 며칠 후에 충전하지 않고 다시 열려면) 스왑 드라이브 (적어도 RAM 크기 이상 권장)가 필요합니다.

경고:

  • 우리가 오랫동안 운영해온 일부 소프트웨어 (특히 OS 및 데스크탑 환경)는 실제로는 다시는 사용되지 않는 코드를 메모리에로드합니다. 이러한 페이지는 스왑으로 이동할 수 있으며 다시 뽑을 필요가 없으므로 앞에서 언급 한 단점을 피할 수 있습니다. 이러한 이유로 때때로 작은 512MB 또는 1GB 스왑 파일을 만들고 사용하지 않는 메모리 페이지를 스왑 아웃합니다. 이것은 응용 프로그램을위한 RAM을 조금 더 남겨 둡니다. (필요 :이 교환 파일의 크기를 조정하는 데 도움이되는 교환 변동을 측정하는 기술입니다.)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.