高 RAM 使用期间笔记本电脑/PC 上的休眠问题

高 RAM 使用期间笔记本电脑/PC 上的休眠问题

在几天/几个月的时间里,我一直试图在我的笔记本电脑 - 东芝卫星 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 内存为 4 GB。 SWAP 分区为 9 GB。

休眠主要取决于您的硬件配置(当然我的错误是购买东芝)和内核版本。

我当前的内核版本是:

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)。

我在 my 中添加了函数~/.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可能会非常慢! swapoff 怎么这么慢?

当我想休眠时,我只需打开终端并运行:

$ nk-hibernate

从休眠恢复后,交换区被清理(swapoff),然后再次激活(swapon)以便再次休眠。

如果有人知道更好的解决方案请分享。

编辑:正如@sourcejedi 提到的,这并不能完全解决问题。我遇到过笔记本电脑在一段时间(10 次以上休眠)后重新启动的情况。这只会加快从休眠状态恢复后的机器速度

相关内容