Linuxdeepin

deepin如何休眠

2018-06-05  本文已影响99人  Daryl_Xu

deepin官网
休眠这个功能还是很酷很实用的,对于Linux系统,休眠一般就是把内存中的数据写入硬盘(swap文件),然后关机。在下一次开机的时候将数据重新载入内存,让你快速回到上一次的工作状态,这在你开启了大量的程序但需要暂停工作的时候尤其好用。

一般来说,如果你有一个可以正常使用的swap分区,只需要在终端执行
systemctl hibernate
就可以休眠了。

如果你没办法从硬盘划分一个swap分区,你可以通过使用swap文件来进行休眠。
本教程参考了Debian的wiki
大体思路:创建swap文件-->配置swap文件-->安装uswsusp-->配置uswsusp

  1. 创建一个swap文件
fallocate -l 256m /swap
mkswap /swap

“256”是指以MB为单位的大小(其后的'm')。将其设置为RAM的至少一半大小(这个是debian wiki给定的数据,我建议设置为至少设置为内存相同大小)。“/swap”是交换文件的路径。它可以位于任何分区(例如root或home)。

  1. 进行swap文件相关设置

vm.swappiness扩展知识
减少内核对swap的使用这一步主要是针对使用机械硬盘的同学,因为在机械硬盘中大量对swap进行读写会拖慢系统的速度,Debian wiki里面写的是停止内核使用swap文件,可能是原作者笔误,也可能是他瞎说的🤗

  1. 安装和配置相关软件
    使用uswsusp这个软件,这是linux内核使用swap文件代替swap分区来进行挂起(休眠)的方法,并且还支持压缩和加密等功能。
选择swap文件

此处选择你要使用的swap文件,注:我这里是/var/swapfile这个文件

选择是否对休眠写入swap的数据加密

根据需要选择就好(需要知晓的是,开启加密功能之后休眠的启动所消耗的时间会增加)。如果选择加密的话,它会提示你设定一个密码

#/etc/uswsusp.conf(8) -- Configuration file for s2disk / s2both

resume device= /swap   

compress = y

early writeout= y

image size= 238941634

RSA key file = /etc/uswsusp.key

shutdown method = platform

resume offset = 8288

# encrypt = y 如果你选择了对数据加密,则会有这一行

“resume offset = 8288”是交换文件实际存放的地方(应该是硬盘的物理地址)。你可以终端执行swap-offset /swap获得这个值
“resume device”必须是分区而不是交换文件。一般这行的值会在上一步完成后变成你的swap文件的路径,需要改成你的swap文件所在的分区,如/dev/sda1

编辑/etc/uswsusp.conf文件后:
终端执行 sudo update-initramfs -u

  1. 默认启动的配置
    为了让系统启动时,默认从swap文件加载数据。将/etc/default/grub文件中的相关设置进行修改:
    GRUB_CMDLINE_LINUX_DEFAULT ="resume = /dev/sda1 quiet"
    其中“/dev/sda1”是交换文件所在的分区。
    终端执行sudo update-grub

测试休眠:
sudo s2disk

注:配置成功之后,如果修改了uswsusp的设置要执行 sudo update-initramfs -usudo update-grub

如果deepin能集成这个功能就再好不过了,配置还是略显繁琐滴

上一篇 下一篇

猜你喜欢

热点阅读