수년 동안 나는 필요한 작업을 수행할 수 있는 충분한 메모리가 있었기 때문에 스왑 없이 Linux 시스템을 설정해 왔으며 점점 더 많은 Dapin을 사용하여 조용히 모든 것을 느리게 하는 것보다 너무 많은 메모리를 사용하면 프로세스가 종료되는 것을 선호합니다.
하지만 랩톱에서 최대 절전 모드를 사용하려면 스왑이 필요하다는 사실을 알고 스왑 파티션을 만들었고 최대 절전 모드가 제대로 작동하고 있습니다.
최근에 컴퓨터가 최대 절전 모드가 아닌 대기 모드로 들어간 것을 확인했으며, 조사한 결과 스왑 파티션에 최대 절전 모드를 위한 공간이 충분하지 않은 것으로 나타났습니다. 이는 최대 절전 모드용으로 예약된 스왑 파티션이 실제로는 일반 스왑 공간으로 사용되고 있다고 생각했기 때문입니다.
최대 절전 모드용으로 지정된 스왑 파티션만 사용하고 일반 작업 중에는 스왑용으로 사용하지 않도록 Linux에 지시할 수 있는 방법이 있습니까?
편집: 아래 질문에 따르면 머신에는 8GB의 RAM이 있고 스왑 파티션도 8GB입니다. 실제 스왑 사용이 아닌 최대 절전 모드용으로만 사용하고 싶기 때문에 머신의 RAM 크기보다 큰 것은 낭비됩니다. 근본적인 문제는 8GB 스왑 파티션이 추가 메모리로 사용되기 때문에 이제 시스템이 최대 16GB 메모리(8GB 물리적 + 8GB 스왑)를 할당할 수 있다는 것입니다. 최근에는 10GB를 사용했으며 8GB 스왑 파티션은 10GB를 보유할 수 없으므로 최대 절전 모드로 들어갈 수 없습니다.
답변1
최대 절전 모드용으로 지정된 스왑 파티션만 사용하고 일반 작업 중에는 스왑용으로 사용하지 않도록 Linux에 지시할 수 있는 방법이 있습니까?
해당 행을 삭제하거나 주석 처리하십시오 /etc/fstab
. 내 시스템의 예
$ grep swap /etc/fstab
/dev/mapper/NEO--L196--vg-swap_1 none swap sw 0 0
pm-hibernate
작동하려면 스왑 파티션을 "활성화"해야 하므로 제거되었습니다.
스왑을 활성 상태로 유지하되(따라서 그대로 두십시오 /etc/fstab
) 커널에 이를 무시하도록 명시적으로 요청하십시오.
이는 0의 sysctl 매개변수를 사용하여 수행됩니다 vm.swappiness
(유효한 값은 0-100입니다. 값이 높을수록 커널 스왑이 더 적극적으로 이루어지며 기본값은 60입니다).
재부팅 후에도 이 설정이 유지되도록 하려면 행 /etc/sysctl.conf
을 편집하고 추가하십시오 vm.swappiness=0
.