시스템 설치 후 스왑을 어떻게 추가합니까?


153

우분투 설치 중에 스왑 파티션을 만들지 않았습니다. 나중에 공간을 확보하고 스왑 파티션을 만들었습니다. 이제 각 부팅 후 수동으로 gparted스왑 파티션을 마우스 오른쪽 단추로 클릭하여 '스와 폰'옵션을 켭니다.

부팅시 스왑 파티션을 자동으로 활성화하려면 어떻게해야합니까?

또한 스왑 파티션을 만들지 않은 경우 다른 옵션은 무엇입니까?


답변:


132

/etc/fstab새 스왑 파티션 을 편집 하고 추가 해야 합니다.

sudo nano /etc/fstab

다음과 같은 줄을 추가해야합니다

UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none   swap    sw      0       0

명령을 사용하여 UUID를 얻습니다.

sudo blkid /dev/sda3

( /dev/sda3적절한 장치 이름으로 대체 ).

관련 :


bash는 - : :을 / etc / 내가 출력을 얻기 엄마 fstan에 대한 도움이 필요하십니까은 / etc / fstab에 : 사용 권한이 거부되었습니다
Ashu_FalcoN

sudo gedit / etc / fstab 사용

3
적절한 장치 이름을 찾으려면 sudo fdisk -l(from : askubuntu.com/questions/182446/… ) Type : Linux swap을 찾으십시오.
NumesSanguis

1
sudo blkid /dev/sda4나를 위해 아무것도 인쇄하지 않습니다 (sda4는 코드 82h로 새로 작성된 파티션이며, fdisk는 "Linux swap / Solaris"파티션이라고 말합니다).
Egor Skriptunoff

1
@ elvis.dukaj 장치 이름도 사용하는 것이 좋습니다. 그들은 기본적으로 두 가지 다른 것을 표현합니다. 하나는 정확히 다른 UUID (다른 mkswap실행 과 함께 변경 될 것 )와 함께 볼륨 을 사용하고 다른 하나는 디스크의 기본 파티션 번호 3을 사용한다고 말합니다 /dev/sda. 장치 이름 할당이 변경 되더라도 UUID는 동일하게 유지되므로 UUID를 선호하는 사람도 있습니다. 이것이 차이점이 중요한 이유입니다. 그러나 드라이브를 다시 파티션하지 않을 것이 확실하다면 /dev/sda3사용하기에 안전해야합니다.
0xC0000022L

106

설치 후 스왑 파티션을 만들려면 빈 파티션을 만드십시오. 구멍이 없어야합니다. 그런 다음이 파티션을 다음과 같이 포맷 할 수 있습니다.

sudo mkswap /dev/sdX

교체 /dev/sdX당신의 파티션. 이 파티션을 스왑으로 마운트

sudo swapon -U UUID

여기서 UUID는 다음 /dev/sdX과 같이 읽습니다.

blkid /dev/sdX

/etc/fstab다음 줄을 추가 하여 새 스왑을 바인딩하십시오 .

UUID=xxx    none    swap    sw      0   0

최대 절전 모드로 스왑을 사용하려면 /etc/initramfs-tools/conf.d/resume이 내용으로 UUID를 업데이트해야 합니다 RESUME=UUID=xxx. 잊지 마세요 $ sudo update-initramfs -u.

작업을 완료하려면 예비 파티션이없는 경우 스왑 파일을 만들 수도 있습니다. 이 답변 은 스왑 파일을 생성하고 부팅시 활성화하는 방법에 대한 아이디어를 제공합니다.


현재 두 개의 파티션이있는 SSD가 있지만 세 번째 파티션을 만들고 싶습니다. OS와 파일을 보유하는 기본 ext4 파티션이있는 경우이 파티션을 사용하여 2GB를 새로운 파티션으로 분리 할 수 ​​있습니까? 이 기본 파티션의 여유 공간이 충분하므로 문제가되지 않습니다.
dustin

2
gparted파티션의 크기를 조정합니다.
NumesSanguis

54

스왑 파티션을 만드는 방법을 원하지 않거나 확실하지 않은 경우 파티션과 동일한 방식으로 작동하는 스왑 파일을 만들 수 있습니다. 단계는 다음과 같습니다 (터미널 사용).

  1. 빈 파일을 만듭니다 (1K * 4M = 4GiB).

    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile
    
  2. 새로 작성된 파일을 스왑 공간 파일로 변환하십시오.

    sudo mkswap swapfile
    
  3. 페이징 및 스왑을 위해 파일을 활성화합니다.

    sudo swapon swapfile
    

    확인 방법 : swapon -s또는 top:

    top -bn1 | grep -i swap
    

    다음과 같은 줄을 표시해야합니다. KiB Swap: 4194300 total, 4194300 free

    비활성화하려면 sudo swapoff swapfilecommand 를 사용하십시오 .

  4. fstab파일을 파일에 추가 하여 다음 시스템 부팅시 지속적으로 유지하십시오.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. 다음을 수행하여 시작시 스왑 파일을 다시 테스트하십시오.

    sudo swapoff swapfile
    sudo swapon -va
    

    참고 : 위의 명령은 fstab파일 구문을 다시 확인 합니다. 그렇지 않으면 Linux가 제대로 부팅되지 않습니다.


13
스왑 파티션이 아닌 스왑 파일을 사용하는 유일한 답변에 감사드립니다. 이 경우 파티션을 만들 수 없습니다. 명령이 훌륭하게 작동했습니다.
Sarel Botha

2
더 큰 크기의 스왑 공간이 필요한 경우 X GiB 스왑 공간의 경우 count = 4M을 XM으로 늘리십시오. 누군가가 그것을 놓친 경우.
saurabheights

5 단계를 잘 모르겠습니다. 테스트 할 스왑을 끄는 이유는 무엇입니까?
Raffi Khatchadourian

@RaffiKhatchadourian 마지막에 다시 테스트하면 fstab파일 구문을 두 번 확인하는 데 도움이 됩니다 (오타에 상관없이). 그렇지 않으면 Linux가 올바르게 부팅되지 않아 특히 원격 서버에서 주요 시작 문제가 발생할 수 있습니다.
kenorb

1
아 이해가되었습니다. 재부팅하기 전에이 작업을 수행해야합니다. 나는 시작할 때 버렸다.
Raffi Khatchadourian

13

gparted를 사용하여이를 수행하는 그래픽 방법이 있습니다.

다음과 함께 Gparted를 실행하십시오.

sudo gparted

설치하지 않은 경우 다음을 사용하여 설치할 수 있습니다.

sudo apt-get install gparted

gparted가 실행되면 :

  1. 할당되지 않은 블록을 마우스 오른쪽 버튼으로 클릭하고 클릭하여 파티션을 할당하십시오 new
  2. 파티션을 다음과 같이 포맷하십시오 linux-swap
  3. 파티션을 마우스 오른쪽 버튼으로 클릭하고swapon

작업이 끝나면 파티션 이름 옆에 키 아이콘이 있어야합니다


가장 간단한 답변
Shobi

1
영구적으로 만들려면 @ user4124의 답변 에서처럼 fstab 파일을 편집해야합니다.
Madura Pradeep

1
문제는 이미 그들이 이것을하고 있다고 말합니다.
차이 티 렉스

1
이것은 전혀 질문에 대답하지 않습니다.
mook765

@ mook765, 질문은 "시스템 설치 후 스왑을 어떻게 추가합니까?"입니다. 이것은 그 질문에 완벽하게 대답합니다.
Tayler

3

linux.com 에서 스왑 파일을보다 유연하게 만들 수 있으며 스왑 저장소의 수와 크기를 동적으로 조정할 수 있습니다. 또한 스왑 파티션을 시스템 디스크에서 멀리 이동시켜 시스템 속도를 높일 수 있습니다. 또한 여러 스왑 공간을 사용하는 경우 우선 순위를 동일한 값으로 조정하여 라운드 로빈을 사용하여 더 많은 속도를 향상시킬 수 있습니다.

추신 : 우연히 USB 저장 장치를 USB 슬롯에 남겨두고 SATA 케이블을 제거하고 다시 연결하면 장치 순서 대신 UUID를 사용할 수 있기 때문에 연결된 드라이브에 대해 크게 걱정할 필요가 없습니다. 어디.


드라이브를 다시 파티션 할 필요가 없기 때문에 가장 유용한 응답이었습니다. 너무 나쁜 우분투는 새 컴퓨터에 설치할 때 기본적으로 스왑을 만들지 않습니다!
어니

2

/ etc / fstab에 정의 된 스왑 파일 시스템이 있어야합니다. 그것은 비슷한 줄을 포함해야합니다

UUID=67682d1b-a1d8-4377-a3dd-67340c141619 none            swap    sw              0       0

물론 UUID 값을 장치 식별자로 대체해야합니다.


어떻게 구할 수 있습니까?

3
/ dev / sda1 (UUID없이)과 같은 장치 이름을 대신 사용할 수 있습니다.
Adam Byrtek

2

(sdax에서 "x"를 스왑 파티션 번호로 바꾸십시오 (예 : sda5))

"xxx"를 UUID 번호로 교체하십시오 (예 : 67682d1b-a1d8-4377-a3dd-67340c141619)


su (루트 권한을 얻으려면 암호를 제공하십시오)

blkid / dev / sdax (UUID 가져 오기) mkswap / dev / sdax (형식 교체 파티션) swapon -U xxx

nano / etc / fstab (edit fstab 편집) UUID = xxx 없음 스왑 sw 0 0 (스왑을 영구적으로 만들기 위해이 텍스트를 입력하고 저장) (fsantab 닫기)


nano /etc/initramfs-tools/conf.d/resume("resume "파일을 작성하고 최대 절전 / 재개를 사용하려면이 텍스트를 저장하십시오) RESUME = UUID = xxx (nano를 닫으려면 Ctrl + x)-> (y)

기계를 다시 시작

로그인하면 이제 최대 절전 모드 / 재개를 테스트 할 수 있습니다


2

Ubuntu 용 Ram 드라이브를 만드는 방법에 대한 포괄적 인 자습서입니다. 불행히도 .. 잘라 내기 및 붙여 넣기를 통해 스크린 샷이 표시되지 않습니다. 나중에 추가 할 예정이지만 필요하지는 않습니다.

가장 먼저해야 할 일은 램 드라이브를위한 공간을 만드는 것입니다. 32GB 하드 드라이브 만있는 이중 부팅 시스템이 있습니다. 내 우분투는 실제로 SD 카드에 설치되어 있습니다 (예, 실제 캐스케이드가 아닌 실제 설치). 내 스왑도 SD에 있었고 빨리 마모 될 수 있습니다. 스왑을 변경하는 방법을 찾고이 기사를 찾았고 답변이 마음에 들지 않아서 변경하는 동안 자습서를 만들었습니다.

스왑 파티션을 늘리거나 줄이려면 즐겨 사용하는 파티션 관리자를 통해서만 파티션을 늘리거나 줄이면됩니다. 우분투는 이미 어디로 가야할지 알고 있으며 크기에 독립적입니다. 위치를 변경하거나 새 스왑을하려면 계속 읽으십시오. 가장 먼저해야 할 일은 스왑 공간을 제공하기 위해 하드 드라이브를 축소하는 것입니다. Windows 시스템이있는 디스크를 축소하는 경우 Windows를 사용하여 디스크를 축소하는 것이 좋습니다 (자체를 알고 있음). 순수한 우분투를 사용하는 경우 라이브 우분투 USB를 사용하여 크기를 조정하십시오.

Windows 크기 조정 지침 :

  1. 시스템을 백업하고 드라이브 조각 모음을 수행하십시오.
  2. 시작 표시 줄을 마우스 오른쪽 버튼으로 클릭하십시오.
  3. 디스크 관리를 선택하십시오
  4. 올바른 드라이브를 마우스 오른쪽 버튼으로 클릭하십시오.
  5. 축소를 선택하십시오.
  6. 정확한 금액을 입력하십시오.

우분투에 있다면. Ubuntu 도구를 사용해야합니다. 할당을 마치기 위해 GParted가 포함 된 부팅 가능한 라이브 USB Ubuntu를 사용합니다. 라이브 USB는 어떤 이유로 든 Gparted를 사용하는 가장 좋은 방법이므로 처음 설치할 때 USB를 사용하거나 편리하게 사용해야합니다.

드라이브를 "조각 모음"했음에도 불구하고 충분한 공간이 없기 때문에 2000 년에 입력 할 수 없었습니다 (Windows가 실제로 조각 모음을했다고 생각하지 않습니다). 약간의 실험을 통해 1000이 허용되었습니다. 그런 다음 1000을 다시 시도하여 작동했습니다. MS Windows 프로그래머보다 초등학교 수학 교사에게 감사드립니다. 그것은 나의 초등학교 수학을 위해 충분히 가까운 1.95gb로 나를 떠났다.

파티션 포맷

이제 해당 공간을 적절한 스왑 드라이브로 포맷 할 준비가되었습니다. Windows를 사용 중이고 Ubuntu와 Windows간에 전환하는 경우 "전원"및 "종료"를 클릭 할 때 Shift 키를 누르고 있는지 확인하십시오. 이것은 특히 다른 운영 체제에서 "C"드라이브 관련 사항을 망칠 때 매우 중요합니다. 이중 부팅을하는 경우에는 정상적인 상황에서 Windows가 가짜로 종료된다는 것을 이미 알고 있어야합니다. 어떤 사람들은 "빠른 부팅"을 비활성화했습니다. 내 시스템 (Windows 10)에서 그러한 선택을 할 수 없으며 친구 Google 덕분에 Shift 키를 사용해야합니다. 라이브 USB로 부팅했는데 "C"드라이브를 클릭 할 수없는 경우 (클릭하면) 제대로 종료되지 않은 것입니다. 창을 다시로드하고 Shift 키를 사용하여 다시 종료하십시오.

이제 우분투 라이브 모드에 있으며 아래를 읽으십시오.

순수한 우분투이고 Windows에서 축소되지 않은 경우. gParted에서 크기 조정 옵션을 사용합니다. 이미 드라이브를 축소 한 경우 크기 조정 단계를 수행하지 마십시오. 대시 막대에 GParted를 입력하면 응용 프로그램을 매우 빠르게 얻을 수 있습니다. 크기를 조정하려는 드라이브를 마우스 오른쪽 버튼으로 클릭하십시오.

이제 할당되지 않은 공간을 파티션 된 드라이브로 포맷합니다 :

전에:

어떻게해야할지 몰랐기 때문에 SD에서 이전 램 드라이브를 살펴 보았습니다. Linux 스왑 형식으로되어 있습니다. 그래서 최근에 Linux 스왑으로 축소 한 새로운 할당 형식을 지정했습니다.
1 차 파티션과 경고 알림에 대해 확인을했는데 제대로 작동했습니다!

파티션 포맷

포맷 후 새로운 파티션

그것은에 기존의 스왑 파티션이있는 우연의 일치 sd라고 한 mmblk1p5새로운 하나가 또한 p5함께 mmblk0전면한다. 당신은 p6 또는 p7 일 수 있습니다. 걱정마

mmblk0물리적 디스크이며, p는 물리적 디스크의 파티션입니다. 또 mmblk01다른 물리적 디스크 등입니다. (이것은 내 SD입니다) 더 이상 작업을하기 전에 Windows를 다시 부팅하여 Windows가 여전히 부팅되는지 확인하십시오. 게 으르거나 순수한 우분투 컴퓨터에 있다면이 단계를 수행 할 필요가 없습니다. Windows가 손상되면 Windows에서 해당 디스크에 Ubuntu를 새로 설치합니다 (스왑도 가능). 시스템이 고장난 경우 새 설치에서 스왑을 할당 할 수 있으므로 더 이상 단계를 수행하지 않아도됩니다. 모든 것이 잘되었고 Windows가 부팅되었습니다. 이제 Windows 디스크 관리자에서 새 파티션을 볼 수 있습니다 : (시작 표시 줄을 마우스 오른쪽 버튼으로 클릭하여 디스크 관리를 받으십시오)

이제 스왑을 부팅 루틴에 연결하십시오

이 질문에 대한 이전 답변에는 실제로 필요하지 않고 복잡 할 수있는 교체 / 끄기 명령이있었습니다. 올바른 파일을 찾고 스왑을 새 파티션으로 지정하기 만하면됩니다. 다시 한 번 파티션의 크기 만 조정했다면 아무 것도 할 필요가 없습니다. 파티션을 찾도록 이미 설정되어 있습니다. 크기가 자동으로 완료됩니다.

파티션을 변경했거나 처음으로 스왑하는 경우 아래를 읽으십시오.

내가이 일을하는 것은 이번이 처음이라고 말씀 드리겠습니다. 저는 UNIX 괴짜가 아니며 GUI 도구를 선호합니다. 이 튜토리얼을 만들면서 손가락을 배우고 넘어 가고 있습니다. 지금까지 모든 것이 잘 진행되었습니다. 시스템의 루트에는 etc라는 디렉토리가 있습니다. 그 디렉토리 안에는 fstab(확장자 없음) 이라는 파일이 있습니다. 수퍼 유저 "su"권한으로이 파일을 편집해야합니다. 그렇게하기 전에 Live USB로 만든 새로운 스왑 파티션의 UUID가 필요합니다. sudo su를 입력하십시오. 이제 슈퍼 사용자 모드에 있습니다. 당신은 무엇이든 할 수 있습니다 (자신의 존재를 지우는 것을 포함하여).

blkid새 스왑 파티션의 uuid를 입력 하고 찾으십시오. 나는 아래에서 내 것을 보았고 그것을 강조했다.

PartUID에는주의를 기울이지 마십시오.

이제 다른 사람들은 type이라고 말할 것입니다.

sudo gedit /etc/fstab

그러나 나는 그것을 시도했지만 올바른 파일을 찾지 못했습니다 (주석하십시오).

방금 gedit를 입력하고 삐걱 거리는 GUI 방식 (성공!)을 열었습니다. 이미 슈퍼 사용자 모드 (sudo su)에 있었기 때문에 파일을 변경 한 후 파일을 저장하는 것을 포함하여 Gedit에서 모든 작업을 수행 할 수있는 루트 권한이 있습니다. 훌륭한! 변경하거나 손상시키기 전에 fstab을 backup이라는 백업 파일로 저장하십시오 fstab.bak.

엉뚱한 GUI 방식으로 백업하고 친숙한 "다른 이름으로 저장"을 선택하고 "bak"를 파일에 추가하십시오 fstab.bak. .bak 확장자가 있는지 확인하십시오. Geeks는 터미널 cp 명령을 사용하도록 지시하지만 초보자는 터미널에서 파일을 찾을 수 없으므로 처음에는이를 얻을 수 없습니다. "다른 이름으로 저장"명령 다음에 워드 프로세서와 마찬가지로 현재 파일은 fstab.bak. 이전에 가지고 있던 실제 파일을 연 다음 백업 파일을 닫습니다. fstab확장명이없는 실제 편집 중인지 다시 확인하십시오 . 백업 파일을 편집하면 재부팅 할 때 아무 작업도 수행되지 않으며 백업 사본은 원본의 실제 백업이 아닙니다.

내 원본 fstab파일은 다음과 같습니다.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation
UUID=8fb20159-62e4-41a3-8550-791c7a66c328 none            swap    sw              0       0

마지막 줄 (빨간색으로 표시)에는 부팅시 사용되는 원래 스왑 정보가 있습니다. 이전 blkid 명령에서 새 드라이브 UUID를 볼 수있었습니다. 터미널에서 텍스트를 강조 표시 한 다음 마우스 오른쪽 단추를 클릭하고 복사를 선택하여 해당 문구를 복사하십시오. 이 문구를 su스크래치 패드 권한 없이 다른 별도의 편집기에 붙여 넣습니다 (Libre Office를 사용할 수 있고 괴짜는을 사용할 수 있음 nano). 이 단계를 사용하면 따옴표없이 올바른 텍스트를 쉽게 얻을 수 있으므로 fstab파일에 쉽게 붙여 넣을 수 있습니다 . 이 파일을 가능한 한 적게 변경하려고합니다.

New UUID
UUID="709ea197-e6fb-428b-9c1f-4b258452b10c"

따라서 새 UUID는 위의 빨간색으로 표시됩니다. 내가해야 할 일은 스왑의 UUID를 변경하는 것입니다. 스왑 드라이브가 없으면 위의 fstab 파일에 내 줄을 복사 한 다음 이전 blkid 명령에서 적절한 uuid를 추가하십시오. (올바른 uuid를 선택하십시오!)
이것이 첫 번째 스왑 라인 인 경우 추가 항목이 포함 된 전체 라인을 포함해야합니다.

none            swap    sw              0       0

정확한 간격에 대해 너무 걱정하지 마십시오.

내 새 파일은 다음과 같습니다.주의 사항 변경 사항 위에 주석을 추가했습니다. #문자는 주석임을 나타냅니다.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation  NOW changed to mmcblk0p5
UUID= 709ea197-e6fb-428b-9c1f-4b258452b10c  none            swap    sw              0       0

따옴표를 붙여 넣지 마십시오. =부호 뒤에 공백이 없습니다 .

파일을 저장하십시오.

변경 사항을 저장하려면 다시여십시오. su괴짜들이 당신을 위해 꾸짖을 위험이있는 gedit와 터미널을 닫으십시오 .

REBOOT하고 손가락을 교차!

재부팅 한 다음 시스템 성능 앱을보고 스왑이 작동하는지 확인했습니다. 나는 아직도 스왑 드라이브를 가지고 있었다! 그러나 새로운 것이 었습니까, 아니면 오래된 것이 었습니까? 새 드라이브가 이전 드라이브와 크기가 같기 때문에 새 드라이브가 실제로로드되었는지 확인할 수 없습니다. 따라서 다음과 같이 입력했습니다. swapon(스왑보다 더 많이 입력 하지 마십시오. 스왑 만 나열됩니다 : 안전). 이제 내가 mmblk0p5한 UUID 작업과 일치하는 새 드라이브가 보입니다 fstab. 슬림 한 32GB 메인 드라이브가 적용되었습니다.


이것으로 이전에 본 적이없는 초보자 사용자로부터이 튜토리얼을 마칩니다. 이 튜토리얼을 만든 이유의 절반은 우리를 도와주는 Geeks가 초보자 사용자를 도울 수있는 방법을 볼 수 있도록하기 위해서였습니다. 이전 답변이 잘못되었다고 생각하고 작업을 수행하면서 자습서를 만들기로 결정했습니다. 유용한 다른 답변을 추측하여 fstab파일 을 편집 하고 다시 부팅 하기 만하면됩니다. 모두 잘 작동했지만 여전히 창 10이 있으며 시스템을 아직 닦지 않았습니다. 누구든지 Windows pagefile.sys를 Linux 스왑 파일로 공유하는 방법을 알고 있다면 Windows 에서 2GB를 가져 와서 32GB 시스템에서 hd 공간이 매우 중요하기 때문에 관심이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.