RAM 사용량이 많은 동안 노트북/PC의 최대 절전 모드 문제

RAM 사용량이 많은 동안 노트북/PC의 최대 절전 모드 문제

며칠/몇 달 동안 나는 내 노트북(Toshiba Satellite L50-B-1K6)에서 메모리 사용량이 많은 동안 최대 절전 모드에 대한 솔루션을 찾으려고 노력해 왔습니다. 내 데스크톱 컴퓨터에서도 비슷한 문제가 발생합니다.

내 하드웨어 구성은 다음과 같습니다

$ inxi -Fx
Machine:   System: TOSHIBA (portable) product: SATELLITE L50-B v: PSKTCE-02G009Y4
           Mobo: Type2 - Board Vendor Name1 model: Type2 - Board Product Name1 v: Type2 - Board Version
           Bios: INSYDE v: 1.70 date: 08/14/2014
Battery    BAT1: charge: 7.2 Wh 29.5% condition: 24.2/30.0 Wh (81%) model: LGC PA5186U-1B status: Discharging
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9580
           clock speeds: max: 2700 MHz 1: 1697 MHz 2: 1615 MHz 3: 1279 MHz 4: 1700 MHz
Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
           Card-2: Advanced Micro Devices [AMD/ATI] Jet PRO [Radeon R5 M230] bus-ID: 09:00.0
           Display Server: X.Org 1.17.4 driver: intel Resolution: [email protected]
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 12.0.1 Direct Rendering: Yes
Audio:     Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
           Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel bus-ID: 00:03.0
           Sound: Advanced Linux Sound Architecture v: k4.7.2-1-MANJARO
Network:   Card-1: Intel Wireless 3160 driver: iwlwifi bus-ID: 07:00.0
           IF: wlp7s0 state: up mac: 30:3a:64:ef:d2:29
           Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller port: 4000 bus-ID: 08:00.0
           IF: N/A state: N/A speed: N/A duplex: N/A mac: N/A
Drives:    HDD Total Size: 1000.2GB (3.8% used) ID-1: /dev/sda model: HGST_HTS541010A9 size: 1000.2GB
Partition: ID-1: / size: 19G used: 13G (69%) fs: ext4 dev: /dev/sda11
           ID-2: /home size: 29G used: 15G (54%) fs: ext4 dev: /dev/sda12
           ID-3: swap-1 size: 9.01GB used: 0.00GB (0%) fs: swap dev: /dev/sda1
Sensors:   System Temperatures: cpu: 46.0C mobo: N/A gpu: N/A
           Fan Speeds (in rpm): cpu: N/A

사용 가능한 RAM 메모리는 4GB입니다. SWAP 파티션은 9GB입니다.

최대 절전 모드는 주로 하드웨어 구성(물론 내 실수는 Toshiba를 구입한 것임)과 커널 버전에 따라 달라집니다.

내 현재 커널 버전은 다음과 같습니다

4.7.2.1

이전 커널 버전(4.1, 4.4, 4.6, ...)에서도 비슷한 문제가 있습니다.

다양한 최대 절전 모드 방법을 시도했지만 소용이 없었습니다.

$ systemctl hibernate
$ sudo sh -c "echo disk > /sys/power/state"
$ pm-hibernate
$ s2disk
- TuxOnIce kernel

문제는 항상 비슷합니다. RAM 사용량이 500MB(12.5%)로 낮으면 최대 절전 모드가 성공합니다.

그러나 Firefox(또는 RAM 사용량이 높은 다른 프로그램(RAM의 50%))를 실행하고 최대 절전 모드로 전환하려고 하면 다음과 같은 문제가 발생합니다.

복구(해동) 중에 스왑 공간이 축적되고 최대 절전 모드가 3~7회 후에 결국 실패합니다.

시스템이 성공적으로 최대 절전 모드로 전환되지만 노트북을 켜려고 하면 다시 시작(해동)되는 대신 다시 시작됩니다.

요약: 최대 절전 모드를 수행할 때마다 스왑 공간 사용량이 증가하고 컴퓨터 속도가 느려지고 최대 절전 모드가 결국 실패하게 됩니다. 다시 시작하는 대신 재부팅됩니다.

이 문제는 다음에서도 찾을 수 있습니다.
https://ubuntuforums.org/showthread.php?t=1796851
https://www.kubuntuforums.net/showthread.php?59209-swap-gradually-filling-after-hibernate-resume

나는 이 문제에 대한 해결 방법을 게시할 것이며 여러분이 이 문제를 어떻게 해결했는지에 대한 조정 사항을 게시해 주시기를 바랍니다.

답변1

스왑이 누적되면 PC/노트북이 느려지고 최대 절전 모드를 위한 스왑 공간이 부족하여 최대 절전 모드가 결국 실패하게 됩니다.

따라서 해결책은 최대 절전 모드에서 돌아온 후 스왑 파티션을 수동으로 지우는 것입니다(https://ubuntuforums.org/showthread.php?t=1796851&p=11011907#post11011907).

~/.bashrc이 문제를 처리하기 위해 내 기능을 추가했습니다 .

function nk-hibernate() {
    sudo sh -c "echo disk > /sys/power/state"
    # setsid i3lock -c 117864 # lock screen with tool of your choice
    sudo swapoff -a
    sudo swapon -a
}

경고 - swapoff매우 느릴 수 있습니다! 스왑오프가 왜 그렇게 느린가요?

최대 절전 모드로 전환하려면 터미널을 열고 다음을 실행하면 됩니다.

$ nk-hibernate

최대 절전 모드에서 재개된 후 스왑 영역이 지워지고(swapoff) 다시 활성화되어(swapon) 다시 최대 절전 모드로 전환됩니다.

더 나은 솔루션을 아는 사람이 있으면 공유해 주세요.

편집하다: @sourcejedi가 언급했듯이 이 방법으로 문제가 완전히 해결되지는 않습니다. 잠시 후(최대 절전 모드 10회 이상) 노트북이 다시 시작되는 상황이 있었습니다. 최대 절전 모드에서 다시 시작한 후에만 시스템 속도가 향상됩니다.

관련 정보