- GNU/Linux의 최대 절전 모드는 RAM의 전체 상태를 스왑 영역에 저장한 후 컴퓨터를 종료하는 반면, 절전 모드는 낮은 전력 소비로 메모리를 RAM에 유지합니다.
- 최대 절전 모드가 안정적으로 작동하려면 커널 지원과 충분한 스왑 공간(스왑 파티션 또는 제대로 구성된 스왑 파일)이 필요합니다.
- systemd, pm-utils, uswsusp 및 PolicyKit과 같은 다양한 도구를 사용하면 배포판 및 사용 시나리오에 따라 최대 절전 모드 및 절전 모드를 활성화, 제어 또는 비활성화할 수 있습니다.
- 절전 모드, 최대 절전 모드 또는 세션 복원을 통한 재시작 중 어떤 모드를 선택할지는 에너지 절약, 업무 복귀 속도 및 시스템 안정성 간의 균형을 중시하는 정도에 따라 달라집니다.
GNU/Linux의 최대 절전 모드는 누구나 들어봤지만 제대로 이해하거나 올바르게 설정하는 경우는 드뭅니다. 많은 사용자들이 Windows나 예기치 않게 꺼지는 노트북 문제로 어려움을 겪고 있으며, 각 전원 모드의 기능과 Linux 배포판에서 제어하는 방법을 알고 싶어 합니다.
최신 커널 버전과 주요 배포판에서는 여러 면에서 개선되었지만, 최대 절전 모드, 절전 모드, 문서 재개방을 동반한 종료 간의 차이점과 스왑 사용 방식(파티션 또는 파일)과 같은 기술적인 세부 사항을 이해하는 것이 중요합니다. 이러한 내용들을 차분하지만 명확하고 실용적인 방식으로 살펴보겠습니다.
최대 절전 모드, 일시 중단 모드 및 세션 복원을 통한 재시작: 각각의 차이점은 무엇일까요?
설정에서 어떤 항목을 건드리기 전에 각 절전 모드가 실제로 어떤 기능을 하는지 이해하는 것이 중요합니다 . 개념이 혼동되는 경우가 많아 데이터 손실이나 배터리 방전과 같은 문제가 발생할 수 있기 때문입니다.
운영체제에서 최대 절전 모드란 열려 있는 프로그램, 문서, 서비스, 바탕 화면 설정, 버퍼 등 시스템 전체 상태를 정지시키는 프로세스를 말합니다 . RAM에 있는 이러한 모든 콘텐츠는 영구 저장 매체(일반적으로 스왑 디스크)에 저장되고 컴퓨터는 완전히 종료됩니다.
즉, 최대 절전 모드는 단순히 파일을 열어둔 채 컴퓨터를 끄는 것과는 다르며 , 일시 중단 모드와도 다릅니다. 최대 절전 모드는 RAM으로 일시 중단하는 것보다 속도는 느리지만, 컴퓨터 전원이 완전히 꺼져 전력 소모가 전혀 없기 때문에 에너지를 훨씬 절약할 수 있습니다.
반면에 일부 시스템은 "문서를 다시 열면서 재시작"과 유사한 기능을 제공합니다. 시스템이 정상적으로 종료된 후 재시작하면 열려 있던 애플리케이션이 자동으로 다시 실행되는 방식입니다 . GNU/Linux에서는 많은 배포판이 이러한 데스크톱 환경 동작을 모방하지만, 이는 최대 절전 모드가 아니라 모든 서비스가 처음부터 다시 시작되는 콜드 부팅 방식입니다.
절전 모드가 앱 복원을 통한 재시작보다 유리한 점은 커널과 사용자 공간이 처음부터 다시 시작되지 않고 이전 상태의 전체 이미지가 복원된다는 것입니다. 따라서 모든 것이 정상적으로 작동하면 문서를 다시 열거나 창을 재구성할 필요 없이 중단했던 작업 지점에서 바로 작업을 재개할 수 있습니다.
리눅스에서 절전 모드란 무엇이며, 왜 사용하는 것이 좋을까요?
절전 모드에서 운영 체제는 현재 상태 (프로그램, 문서, 바탕 화면)의 실시간 이미지를 생성하지만, 이를 디스크에 저장하는 대신 휘발성 메모리인 RAM에 저장합니다.
시스템이 절전 모드로 전환되면 커널은 디스크, 화면, 대부분의 칩셋 등 사실상 모든 하드웨어 장치를 종료합니다. 전원이 공급되는 구성 요소는 RAM과 키를 누르거나 마우스를 움직이거나 노트북 덮개를 열었을 때 시스템을 "깨우는" 데 필요한 최소한의 마더보드 구성 요소뿐입니다.
이 모드는 데스크톱으로 거의 즉시 복귀하고 싶고 컴퓨터가 유휴 상태일 때 전력 소모에 크게 신경 쓰지 않을 때 유용합니다. 최신 노트북은 배터리 전원으로 1~3일 동안 절전 모드를 유지할 수 있지만, 그 시간 동안에도 RAM을 작동시키기 위해 약간의 에너지를 소모합니다.
일반 절전 모드는 특히 RAM이 2GB 이상이고 디스크 공간이 제한적인 경우 (예: 용량이 작은 SSD) 또는 컴퓨터를 곧 다시 사용할 예정인 경우에 권장됩니다. 이는 수업 사이에 잠시 덮개를 닫아두거나 점심 식사를 위해 잠시 자리를 비우는 경우에 해당합니다.
하이브리드 서스펜션: RAM과 디스크의 조합
세 번째 모드는 덜 알려진 하이브리드 절전 모드 입니다 . 이 경우 시스템은 전체 최대 절전 모드 프로세스(메모리 내용을 디스크, 일반적으로 스왑 공간에 기록)를 수행하지만 완전히 종료하는 대신 RAM에서 절전 상태로 진입합니다.
이로 인해 혼합된 시나리오가 발생합니다. 배터리가 남아 있으면 일반적인 절전 모드처럼 빠르게 시스템을 깨울 수 있지만 , 전원이 소진되면 저장된 디스크 이미지를 사용하여 마치 최대 절전 모드에 있었던 것처럼 세션을 복원할 수 있습니다.
이 모드의 단점은 디스크에 쓰기 작업을 수행하고 RAM에 전원을 공급한 상태를 유지하기 때문에 순수 절전 모드보다 진입 및 종료 시간이 더 오래 걸린다는 것입니다 . 이러한 이유로 상태 손실에 대한 추가적인 보안 수준이 요구되는 서버나 워크스테이션에서 주로 사용됩니다.
GNU/Linux에서 최대 절전 모드가 내부적으로 작동하는 방식
GNU/리눅스 시스템을 최대 절전 모드로 전환하면 커널이 일련의 잘 정의된 단계를 실행하여 시스템의 전체 상태를 캡처하고 복원합니다 . 단순히 "RAM 내용을 파일에 저장하는 것"으로 끝나는 것이 아닙니다.
일반적인 디스크 절전 프로세스는 다음과 같은 일반적인 순서를 따릅니다.
- 사용자 프로세스가 중지되었습니다. 캡처가 진행되는 동안 메모리 상태를 고정하고 메모리 변경을 방지합니다.
- 컨트롤러 및 DMA와 관련된 메모리 변경을 방지하기 위해 하드웨어 장치가 고정되거나 중지됩니다.
- 동면의 이미지가 만들어집니다: RAM의 전체 내용이 복사됩니다. 방해 금지 기능이 비활성화된 상태입니다.
- 하드웨어 장치는 제어된 방식으로 재활성화됩니다.
- 이미지에는 다음과 같은 내용이 적혀 있습니다. 공간 교환그러면 해당 영역은 절전 영역(swsusp 또는 linux-suspend)으로 간주됩니다.
- 마지막으로 모든 장치가 일시 중단되고 컴퓨터 전원이 완전히 꺼집니다.
재부팅 시 부팅 시스템은 유효한 최대 절전 모드 이미지가 있는지 확인합니다.
- 예, 있습니다. 정상적으로 시동이 걸리지 않습니다.하지만 스왑에서 이미지를 읽어옵니다.
- 간섭을 방지하기 위해 장치들이 다시 정지되었습니다.
- 이미지가 스왑 영역에서 RAM으로 복사됩니다. 프로세스 및 장치 재활성화 동면하기 전의 모습 그대로였습니다.
실제 테스트에서 관찰된 흥미로운 점은 최대 절전 모드에서 복귀한 후, GParted나 parted 같은 도구에서 이전의 "linux-swap 파티션"이 linux-suspend 또는 swsusp 로 표시된다는 것입니다 . 이러한 파티션 유형의 변화는 시스템이 최대 절전 모드에서 복원할지 아니면 클린 부팅을 수행할지 결정하는 데 사용하는 단서 중 하나입니다.
동면 중 교환의 중요성
이 전체 메커니즘에는 핵심적인 요구 사항이 있습니다. 리눅스에서 최대 절전 모드를 사용하려면 크기와 구성 모두에서 적절한 스왑 공간이 필요합니다 . 스왑 공간이 없으면 시스템은 RAM 이미지를 저장할 곳이 없습니다.
교환은 다음과 같을 수 있습니다:
- 우나 전용 파티션 시스템 유형이 linux-swap입니다.
- Un 스왑 파일 일반 파일 시스템(예: /swapfile)에 위치합니다.
실질적으로 커널은 둘 다 스왑 공간으로 투명하게 처리합니다. 하지만 사용하려면 절전 모드 대상으로 스왑 파일을 지정합니다. 부트 관리자를 통해 커널에 다음과 같은 매개변수를 알려줘야 합니다. resume= (장치) 및 resume_offset= (파일 내 위치 이동). 이렇게 하지 않으면 시스템이 처음부터 다시 부팅되어 디스크에 기록되어 있더라도 이미지를 복원할 수 없습니다.
절전 모드의 안정적인 작동을 위해서는 스왑 공간을 물리적 RAM 용량 이상으로 확보하는 것이 일반적인 권장 사항입니다 . 시스템 부하가 심한 경우에는 스왑 공간이 약간 작더라도 절전 모드가 가능할 수 있지만, 이는 확실한 해결책이 아니며 일반화해서는 안 됩니다. 32GB 또는 64GB 이상의 RAM을 탑재한 시스템에서는 시간과 공간 제약 때문에 많은 시스템 관리자가 절전 모드 사용을 아예 권장하지 않습니다.
zram이나 zswap 같은 메커니즘은 RAM 자체 내에 압축된 스왑 영역을 생성한다는 점도 기억해 두는 것이 좋습니다 . 이러한 기능은 메모리가 제한된 시스템의 성능을 향상시키는 데 매우 유용하지만, 최대 절전 모드에는 적합하지 않습니다. 휘발성 메모리이기 때문에 전원이 차단되면 저장된 이미지가 사라지기 때문입니다.
스왑 파티션에서의 최대 절전 모드와 스왑 파일에서의 최대 절전 모드
수년 동안, 복잡한 과정 없이 최대 절전 모드를 사용하려면 전용 스왑 파티션을 갖는 것이 거의 필수적인 것으로 여겨졌습니다 . 커널과 initramfs 같은 도구의 동작 방식은 이러한 고전적인 모델에 크게 기반을 두고 있었습니다.
하지만 최근 버전의 우분투와 같은 많은 최신 배포판은 기본적으로 파티션 대신 스왑 파일을 사용하도록 변경되었습니다 . 이는 최대 절전 모드 기능을 잃는다는 의미가 아니라, 시스템 상태가 저장되는 위치가 변경된다는 의미입니다.
두 경우 모두 기본 과정은 동일합니다. RAM에 저장된 이미지는 영구 스왑 공간으로 이동합니다.차이점은 스왑 파일을 사용할 경우 시스템이 파일이 시작되는 디스크의 정확한 블록 위치를 알아야 한다는 것입니다(따라서 해당 매개변수가 필요합니다). resume_offset) 부팅 초기에 이미지를 읽을 수 있도록 하기 위함입니다.
데비안 및 데비안 기반 시스템에서 수행된 실제 실험 결과, 최대 절전 모드 이미지가 저장된 스왑 파티션을 포맷하거나 삭제하면 최대 절전 모드가 발생하지 않은 것처럼 깨끗하게 부팅되는 것으로 나타났습니다. 이는 최대 절전 모드 이미지가 디스크의 다른 위치가 아닌 스왑 파티션에 저장되어 있음을 확인시켜 줍니다.
커널 요구 사항 및 배포판에서의 지원
스왑 공간 외에도 Linux 커널은 최대 절전 모드 지원 기능을 활성화해야 합니다 . 직접 커널을 컴파일하고 이 옵션을 비활성화하면 배포판에서 아무리 설정을 변경하더라도 최대 절전 모드를 사용할 수 없습니다.
실제로 대부분의 배포판은 프로젝트 자체에서 패키징한 커널을 사용하며, 이러한 경우 절전 모드는 일반적으로 다른 일반적인 전원 관리 기능 및 드라이버와 함께 기본적으로 활성화되어 있습니다 .
하지만 모든 배포판이 그래픽 메뉴에 "최대 절전 모드" 버튼을 표시하는 것은 아닙니다. 예를 들어 우분투의 특정 버전에서는 커널과 최대 절전 모드 인프라가 완전히 작동 중임에도 불구하고 기본적으로 바탕 화면에서 해당 옵션을 숨깁니다 .
PolicyKit을 사용하여 Ubuntu에서 최대 절전 모드를 활성화하는 방법
Ubuntu 시스템에서 종료 메뉴에 최대 절전 모드 옵션이 나타나지 않는 경우, PolicyKit 규칙을 수정하여 비교적 쉽게 다시 활성화 할 수 있습니다 . 핵심은 일반 사용자가 upower 및 logind 명령어를 사용하여 최대 절전 모드를 실행할 수 있도록 권한을 부여하는 것입니다.
일반적인 절차는 예를 들어 구성 파일을 생성하는 것을 포함합니다. com.ubuntu.enable-hibernate.pkla다음과 유사한 내용(사용하시는 도구의 구문에 맞게 수정):
신원=유닉스 사용자:*
작업=org.freedesktop.upower.hibernate
ResultActive=예
신원=유닉스 사용자:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-다중 세션
ResultActive=예
파일이 생성되면 해당 파일을 다음 위치에 배치해야 합니다. /etc/polkit-1/localauthority/50-local.d/이렇게 하려면 파일 관리자를 관리자 권한으로 실행하면 됩니다(예: ). gksudo nautilus (여전히 지원하는 환경에서) 해당 디렉토리에 붙여넣으세요.
시스템을 재시작하면 우분투 데스크톱에 종료, 재시작, 절전 옵션과 함께 최대 절전 모드 옵션이 표시됩니다 . 물론 충분한 스왑 공간과 최대 절전 모드를 지원하는 커널이 여전히 필요합니다.

터미널에서 절전 모드 및 일시 중단 명령을 실행합니다.
터미널을 선호하거나 전원 버튼이 미리 설정되어 있지 않은 경량 환경(Fluxbox, IceWM, Openbox, JWM 등)을 사용하는 경우, 명령어를 통해 절전 및 최대 절전 모드를 직접 제어할 수 있습니다.
pm-utils 사용
많은 기존 데비안/우분투 배포판에서 pm-utils 패키지는 몇 가지 간단한 명령어를 제공합니다.
- 오후 일시 중단이 기능은 기기를 RAM으로 일시 중단합니다. 대부분의 장치는 전원이 꺼지고 상태는 메모리에 유지됩니다. 전력 소비는 크게 줄어들지만 에너지는 계속 사용됩니다.
- pm-hibernate시스템을 최대 절전 모드로 전환하려면 RAM의 데이터를 디스크(스왑 영역)에 저장하고 컴퓨터를 완전히 종료해야 합니다.
- pm-서스펜드-하이브리드디스크에서는 최대 절전 모드를 수행하고, 시스템을 완전히 종료하는 대신 RAM을 절전 모드로 전환하여 "하이브리드 절전"을 구현합니다.
기본적인 사용법은 다음과 같습니다.
sudo pm-suspend
오후 PM 최대 절전 모드
sudo pm-suspend-hybrid
Arch Linux 기반 시스템이나 자체 저장소에서 pm-utils를 관리하는 다른 시스템에서도 이러한 명령어를 사용할 수 있지만, 많은 최신 배포판에서는 systemd를 선호하여 pm-utils 사용을 중단했습니다 .
systemd(systemctl) 사용
systemd를 사용하는 배포판(OpenSUSE, Arch 및 파생 배포판의 여러 버전, 최신 Debian 등)에서는 systemctl을 사용하는 것이 권장됩니다.
- systemctl 일시 중지: RAM을 일시 중단합니다.
- systemctl 절전 모드: 디스크에 최대 절전 모드를 저장합니다.
- systemctl 하이브리드 슬립하이브리드 서스펜션을 활성화합니다.
예를 들어 OpenSUSE나 일반적인 systemd 시스템에서는 다음과 같이 직접 호출할 수 있습니다.
sudo systemctl 최대 절전 모드
많은 배포판에서 이전 도구와의 호환성을 유지하려는 경우 pm-hibernate를 여전히 사용할 수 있으며 구성에 따라 systemd에 위임하거나 systemd와 함께 작동합니다.
uswsusp 사용: s2ram, s2disk 및 s2both
요즘에는 덜 흔하지만, uswsusp 라는 또 다른 도구 모음이 있습니다 . 이 도구는 s2ram, s2disk, s2both 명령어를 제공합니다. 데비안과 우분투에서 특정 버전(데비안 10, 우분투 20.04 이상)까지는 사용할 수 있었지만, 현재는 더 이상 지원되지 않습니다.
- s2ram: 시스템을 RAM(S3 모드)으로 일시 중단합니다. 이는 pm-suspend 또는 systemctl suspend와 동일한 기능입니다.
- s2디스크: 전체 상태를 디스크에 저장하고 컴퓨터를 종료합니다(일반적인 최대 절전 모드).
- s2both: 두 가지를 모두 결합합니다. 이미지를 디스크에 기록한 다음 RAM으로 일시 중지하여 하이브리드 동작을 구현합니다.
명령어는 다음과 같습니다.
sudo s2ram
sudo s2disk
sudo s2both
이러한 유틸리티를 사용하려면 initramfs를 올바르게 구성해야 합니다. 그래야 시작 시 재개 메커니즘이 호출 되고 이미지가 존재하는 경우 복원됩니다.
GNU/리눅스 시스템에서 절전 및 최대 절전 모드를 비활성화하는 방법
교실, 공용 컴퓨터 또는 공용 워크스테이션과 같은 일부 환경에서는 절전 및 최대 절전 모드로 인해 예기치 않은 종료, 네트워크 문제 또는 시스템 멈춤 현상이 발생하여 사용자에게 원인을 설명하기 어려울 수 있습니다 . 이러한 경우, 때로는 해당 기능을 완전히 비활성화하는 것이 가장 실용적인 해결책일 수 있습니다.
systemd 사용 비활성화(대상 마스크)
시스템에서 systemd를 사용하는 경우, 절전 및 최대 절전 모드와 관련된 대상을 숨겨 그래픽 메뉴나 터미널에서 활성화할 수 없도록 하면 됩니다.
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
이렇게 하면 해당 대상들이 /dev/null 로 리디렉션되어 상징적으로 "휴지통으로" 보내집니다. 재부팅 후에는 절전 모드 또는 최대 절전 모드 시도가 모두 실패하게 됩니다.
나중에 정상적인 동작으로 복원하려면 다음 명령만 사용하면 됩니다.
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
PolicyKit을 사용하여 최대 절전 모드 및 일시 중단 버튼을 비활성화합니다.
또 다른, 더 나은 선택은 다음과 같습니다. PolicyKit에서 절전/최대 절전 모드 권한을 제거합니다. 모든 사용자에게 적용됩니다. 예를 들어, 다음과 같은 위치에 파일을 생성할 수 있습니다. /etc/polkit-1/localauthority/90-mandatory.d/ 으로 :
/etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla
신원=유닉스 사용자:*
작업=org.freedesktop.upower.suspension
ResultActive = 아니오
ResultInactive=아니요
ResultAny=아니요
신원=유닉스 사용자:*
작업=org.freedesktop.login1.suspension
ResultActive = 아니오
신원=유닉스 사용자:*
작업=org.freedesktop.login1.일시중단-다중-세션
ResultActive = 아니오
그리고 동면을 위해서는 :
/etc/polkit-1/localauthority/90-mandatory.d/disable-hibernate.pkla
신원=유닉스 사용자:*
작업=org.freedesktop.upower.hibernate
ResultActive = 아니오
ResultInactive=아니요
ResultAny=아니요
신원=유닉스 사용자:*
작업=org.freedesktop.login1.hibernate
ResultActive = 아니오
신원=유닉스 사용자:*
Action=org.freedesktop.login1.hibernate-다중 세션
ResultActive = 아니오
재부팅 후에는 절전 및 최대 절전 모드 버튼이 그래픽 메뉴에서 사라져 사용자가 실수로 해당 버튼을 활성화하는 것을 방지합니다.
키보드 단축키 및 직접 명령 차단
버튼을 숨기더라도 일부 데스크톱 환경과 키보드에는 절전/최대 절전 모드 키가 여전히 작동할 수 있습니다. 클래식 GNOME과 같은 이전 환경에서는 다음과 같은 명령어를 사용하여 설정할 수 있었습니다.
gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive
또한, 다음에서 스크립트를 생성할 수 있습니다. /etc/pm/sleep.d/으로 /etc/pm/sleep.d/000cancel-hibernate-suspend단순히 일시 중지 또는 절전 모드 시도를 모두 취소하십시오. 시스템으로 제어권을 되돌려줍니다. 일반적인 구조는 다음과 같습니다.
#! / bin / sh의
# 최대 절전 및 절전 모드 방지
. «$PM_FUNCTIONS»
케이스 «${1}»
절전 모드 | 최대 절전 모드)
금지하다
;;
재개|해동)
0 번 출구
;;
그 C
실행 권한을 부여하는 것을 잊지 마세요.
chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend
동면하는 것이 적절한 경우는 언제이고, 그렇지 않은 경우는 언제일까요?
이론적인 설명은 이쯤 하고, 이제 실질적인 부분을 살펴보겠습니다. GNU/Linux에서 절전 모드를 사용하는 것이 실제로 유용한 경우는 언제일까요? 정답은 하나가 아니지만, 몇 가지 합리적인 지침은 있습니다.
에너지 절약 이 최우선 순위라면 (예를 들어 장시간 사용하지 않는 노트북의 경우) 그리고 메모리 이미지 저장을 위한 디스크 공간이 충분하다면 최대 절전 모드는 매우 매력적인 옵션입니다. PC 종료, 절전, 최대 절전 모드 중 어떤 모드를 선택할지 알아보려면 관련 자료를 참조하세요. 최대 절전 모드에서는 에너지 소비가 0이며, 다시 시작할 때 완전히 전원을 껐다 켤 때보다 훨씬 빠르게 부팅됩니다.
바탕화면으로 복귀할 때 최대한 빠른 속도를 원하고 컴퓨터를 잠깐 동안만 유휴 상태로 둘 예정 이라면 , 절전 모드를 RAM에 저장하는 것이 더 편리할 수 있습니다. 이 경우에도 배터리 전력은 약간 소모되지만, 거의 즉각적으로 컴퓨터를 다시 시작할 수 있습니다.
RAM 용량이 큰 컴퓨터나 시스템 재개 시 안정성이 보장되지 않는 경우(특이한 하드웨어, 특수한 드라이버 등)에는 최대 절전 모드를 사용하지 않고 안정적인 절전 모드 진입 후 필요할 때 문서를 복원하는 깔끔한 재시작 방식을 선택하는 것이 좋습니다.
궁극적으로, 절전 모드와 최대 절전 모드가 스왑을 어떻게 사용하는지, 커널이 내부적으로 어떤 작업을 수행하는지, 그리고 systemd, pm-utils, uswsusp 또는 PolicyKit과 같은 도구를 사용하여 어떻게 제어하는지 이해하면 이러한 기능을 때로는 작동하고 때로는 노트북이 명확한 설명 없이 "멈춰버리는" 불가사의한 기능이 아니라, 오히려 유용한 도구로 활용할 수 있게 됩니다.
