也可在github上的此处查看(还包含一些笔记本相关的其他设置),一些更新修正推送到github比在博客上更新更方便。

挂起睡眠和休眠的区别

三种存储当前运行状态数据(前后台进程服务,不包含buff cache等)的方式

挂起suspend 存储到内存 设备通电 低功耗

睡眠hybrid-sleep 存储到内存和磁盘 设备通电 低功耗

休眠hibernate 存储到磁盘 设备断电 即设备会关机

三者其实都是suspend,只是存储位置和通电状态不同,三者分别可称为suspend to ram、suspen to ram and disk和suspend to disk,简称str、strd和std,意思很直白。

挂起也被称为暂停或待机,一般的,系统一段时间没有操作,系统就会挂起(到内存中),多数外围设备会关闭,某些设备会运行(如键盘鼠标),可以快速响应这些设备从而唤醒系统。

休眠也被称为冬眠(hibernate实为冬眠之意),保存运行状态存到硬盘中,然后关机。下次开机后,系统从硬盘中读取存储的数据并恢复到关机前的状态。

睡眠更准确的名称应该是混合睡眠,所谓混合即存储方式上包含了挂起和休眠两种方式,唤醒时会优先从内存中读取数据,如果设备在此状态下断电,就和休眠一样了。

linux休眠配置

一些linux发行版的休眠需要用户进行配置才能使用(如archlinux)。

开启休眠

按照以下步骤设置。

合适大小的swap分区

休眠(hibernate)需要将内存中的内容写入磁盘的swap分区,如果swap分区大小比当前休眠所需空间小,则无法保证能够正确地休眠。具体的swap的大小根据个人使用情况(要休眠时的内存占用)而定。

因此,如果 swap 分区过小,需增大 swap分区或减小 /sys/power/image_size 。

注意:brtfs格式无法设置swap分区;这里的swap是swap分区而不包括swap file的情况。

在bootloader 中增加resume内核参数

需要添加resume=/dev/sdxY (sdxY 是 swap分区的名字) ,让系统在启动时读取swap分区中的内容。

例如,使用了grub2作为bootloader,swap的分区是/dev/sda3。

编辑/etc/default/grub 文件,在GRUB_CMDLINE_LINUX_DEFAULT中添加resume=/dev/sda3 ,假如该行的原有内容是:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_pstate=enable”

添加resume参数后就是:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable resume=/dev/sda3"

然后更新 grub 配置 `grub-mkconfig -o /boot/grub/grub.cfg`

配置 initramfs的resume钩子

编辑 /etc/mkinitcpio.conf ,在HOOKS行中添加resume钩子:

例如该行原有内容是:

HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

添加resume后就是:

HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"

注意:如果使用lvm分区,需要将resume放在lvm后面,示例:

HOOKS="base udev autodetect modconf block lvm2 resume filesystems keyboard fsck"

重新生成 initramfs 镜像: mkinitcpio -p linux

设置低电量休眠

当电池电量极低时,使其休眠,以免丢失数据。

修改/etc/UPower/UPower.conf相关配置,示例,在电量低至%5时自动关机:

PercentageLow=15 #<=15%低电量

PercentageCritical=10 #<=10%警告电量

PercentageAction=5 #<=5%执行动作(即CriticalPowerAction)的电量

CriticalPowerAction=Hibernate #(在本示例中是电量<=5%)执行关机

当电池低至5%,设备会自动休眠。

CriticalPowerAction的取值有Poweroff、Hibernate和Hybid-sleep。

更多配置项参考该文件中的说明。

设置盖上盖子或按下电源键休眠

编辑/etc/systemd/logind.conf ,

盖上盖子休眠,添加:

HandleLidSwitch=hibernate

按下电源键休眠,添加:

HandlePowerKey=hibernate

执行 systemctl restart systemd-logind 使其立即生效。

更加详细的设置参看下文。

systemd 能够处理某些电源相关的事件,编辑 /etc/systemd/logind.conf 可进行配置,其主要包含以下事件:

HandlePowerKey:按下电源键

HandleSleepKey:按下挂起键

HandleHibernateKey: 按下休眠键

HandleLidSwitch:合上笔记本盖

HandleLidSwitchDocked:插上扩展坞或者连接外部显示器情况下合上笔记本盖子

取值可以是 ignore、poweroff、reboot、halt、suspend、hibernate、hybrid-sleep、lock 或 kexec。

其中:

poweroff和halt均是关机(具体实现有区别)

supspend是挂起(暂停),设备通电,内容保存在内存中

hybernate是休眠,设备断电(同关机状态),内容保存在硬盘中

hybrid-sleep是混合睡眠,设备通电,内容保存在硬盘和内存中

lock是锁屏

kexec是从当前正在运行的内核直接引导到一个新内核(多用于升级了内核的情况下)

ignore是忽略该动作,即不进行任何电源事件响应

注意,系统默认设置为:

HandlePowerKey=poweroff #按下电源键关机

HandleSuspendKey=suspend #按下挂起键挂起(暂停)

HandleHibernateKey=hibernate #按下休眠键休眠

HandleLidSwitch=suspend #盖上笔记本盖子挂起

例如要设置盖上笔记本盖子进行休眠,在该文件中配置:

HandleLidSwitch=hibernate

保存文件后,执行 systemctl restart systemd-logind 使其生效。

设置硬盘休眠linux,linux笔记本设置休眠相关推荐

  1. 计算机的硬盘 u盘启动,【电脑bios设置硬盘启动】电脑bios设置光驱启动_电脑bios设置u盘启动...

    2017-11-14 17:02:44 浏览量:94932 怎么在BIOS里设置硬盘启动?电脑在启动时会从硬盘寻找引导文件,从而启动系统,如果硬盘不是第一启动项,或者有两个硬盘,就会导致系统无法启动, ...

  2. 宏基计算机设置硬盘启动不了,宏基笔记本设置U盘启动的简单步骤

    新买来的宏基笔记本有的有搭载Windows操作系统,有的则只是配了个Dos操作系统,Windows要我们自己来安装.如今安装系统基本上通过U盘进行,这就要在BIOS里设置从U盘启动.那么宏基笔记本怎么 ...

  3. linux笔记本设置休眠

    挂起睡眠和休眠的区别 三种存储当前运行状态数据(前后台进程服务,不包含buff cache等)的方式 挂起suspend 存储到内存 设备通电 低功耗 睡眠hybrid-sleep 存储到内存和磁盘 ...

  4. Linux系统可以设置电脑休眠吗,linux笔记本设置休眠

    也可在github上的此处查看(还包含一些笔记本相关的其他设置),一些更新修正推送到github比在博客上更新更方便. 挂起睡眠和休眠的区别 三种存储当前运行状态数据(前后台进程服务,不包含buff ...

  5. Winows笔记本设置合上盖子不休眠

    Windows笔记本设置合上盖子不休眠 打开控制面板>电源选项>选择关闭笔记本计算机盖的功能

  6. 关闭笔记本计算机盖无法睡眠,Win10笔记本怎么设置在关闭盖子时不自动休眠不关屏幕?...

    用笔记本接收比较大的文件时候,突然有事情想出去,不想让别人看到笔记本的资料,想把盖子盖下,但是盖子一盖下,笔记本自动就休眠了,根本是无法挂机,那么我们要怎么做,笔记本才会一直保持开机的状态呢?其实方法 ...

  7. 硬盘第一个基本分区c 的 ntfs格式的XP上 安装 windows和linux 双引导 设置grub(安装WINGRUB),

    硬盘第一个基本分区c 的 ntfs格式的XP上 安装 windows和linux 双引导 设置grub(安装WINGRUB), 以红旗 ( 奥运版)linux 为例 NTFS上安装grub 本文经过实 ...

  8. centos怎么汉化linux,linux centos 系统中文模式设置方法

    linux centos 系统中文模式设置方法 下面小编就为大家具体的介绍linux centos 系统怎么设置中文模式,方便大家阅读. 首先,需要安装一下linux桌面程序.一般系统有自带的桌面,然 ...

  9. Linux Kernel and Android 休眠与唤醒(中文版)

    Linux Kernel and Android 休眠与唤醒(中文版) 四月 18th, 2010 0 Comments/1664 hits Table of Contents 简介 国际化 版本信息 ...

最新文章

  1. [转载] 变形金刚1
  2. 【疼逊】致广大QQ用户的一封信
  3. java查看 被应用_java – 如何查看应用程序正在使用的当前堆大小?
  4. 图解后缀表达式的计算过程
  5. [精华][推荐]CAS SSO 实现单点登录实例源码
  6. SAP License:ERP概述
  7. C++函数的返回值是指针
  8. python多进程运行死机_python多进程假死
  9. 西门子300硬件升级包下载_实例讲解博途编程实现S7300与西门子触摸屏通讯
  10. C# ZPL打印标签
  11. 魔百和CM311-1a YST代工 YS(M),短接线刷时必须用风扇吹降温,才能刷机成功
  12. vscode连接夜神模拟器
  13. java的list和map区别,list和map的区别是什么
  14. 通俗理解ROC曲线(Receiver Operating Characteristic Curve)
  15. 中国经济能否率先复苏
  16. flutter 带未读消息的底部导航
  17. 使用R进行数据可视化套路之-茎叶图、盒形图
  18. PCM开发板模块实验指导--有刷直流马达正反转实验
  19. oracle bpm 表单,Oracle BPM 安全认证
  20. 【JS】去除“确认重新提交表单”

热门文章

  1. CMD下查询Mysql中文乱码的解决方法
  2. AutoCAD.NET二次开发注意事项与开发技巧
  3. UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
  4. 【翻译】Scott Mitchell的ASP.NET2.0数据指南中文版索引
  5. C# 简单的XML读取修改写入
  6. c#求三角形面积周长公式_此题要求三角形的面积,但是无法用公式求出,而是通过方程解决...
  7. burpsuite插件的使用
  8. mysql-odbc的zip安装方法_win10环境下mysql-odbc的zip安装方法
  9. python中运算的英文_[lemon]Python中的运算符,LemonPython
  10. Android开发之在任意Activity在广点通页面添加自定义布局在穿山甲页面添加任意布局