修正格式.

This commit is contained in:
Rick.Chan 2022-10-10 16:58:09 +08:00
parent 66de3dd714
commit c8fcf416b6
2 changed files with 63 additions and 64 deletions

View File

@ -14,7 +14,7 @@ math: false
Multisim 启动后提示:“无法初始化 DAO/Jet db 引擎”,原因是缺少 dao360.dll 文件,这是微软 DAO Jet 数据库引擎的库文件,可以从 [DAO.zip](./DAO.zip) 获取该文件。
下载后解压到C:\Program Files (x86)\Common Files\ 即可,此时该目录中包含以下文件
下载后解压到C:\Program Files (x86)\Common Files\ 即可,此时目录和文件结构如下
* C:\Program Files (x86)\Common Files\DAO\dao360.dll
@ -23,6 +23,6 @@ Multisim 启动后提示:“无法初始化 DAO/Jet db 引擎”,原因是
一般情况下,此时重启 Multisim 软件即可解决问题。如果问题依旧则需要哦进项以下操作:
1. 键入 win+R-->cmd进入 DOS 窗口;
2. 切换到 C:\Program Files (x86)\Common Files\DAO\ 目录;
2. 切换到 C:\Program Files (x86)\Common Files\DAO\ 目录;
3. 输入 regsvr32 dao360.dll注册该 dll 文件;
4. 重启 Multisim 软件。

View File

@ -1,74 +1,73 @@
# [Power management/Suspend and hibernate (简体中文)](https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate)
本文参照Power management/Suspend and hibernate翻译但增删部分内容旨在简要描述挂起、睡眠和休眠的工作原理以及实现方式。
- [Power management/Suspend and hibernate (简体中文)](#power-managementsuspend-and-hibernate-简体中文)
- [挂起、睡眠和休眠的区别](#挂起睡眠和休眠的区别)
- [休眠设置](#休眠设置)
- [开启休眠](#开启休眠)
- [划分合适大小的 swap 分区](#划分合适大小的-swap-分区)
- [在 bootloader 中增加 resume 内核参数](#在-bootloader-中增加-resume-内核参数)
- [使用 swap file 休眠](#使用-swap-file-休眠)
- [配置 initramfs 的 resume 钩子](#配置-initramfs-的-resume-钩子)
- [设置低电量休眠](#设置低电量休眠)
- [设置盖上笔记本盖子或按下电源键休眠](#设置盖上笔记本盖子或按下电源键休眠)
- [参阅](#参阅)
现主要有三种挂起方式suspend to RAM挂起到内存睡眠suspend to disk休眠和hybrid suspend或者suspend to both内存和硬盘都保存一份内容
* Suspend to RAM 将机器中大多数和RAM不相关的部件断电机器状态仅仅保存在RAM中。建议笔记本用户把系统设置成用电池为省电或合盖时自动进入此模式。
* Suspend to disk 将机器内容保存至 swap space交换空间 并完全断电。再次开机时内容恢复。和上一个不同,这个挂起时不会耗电。
* Suspend to both 将上面两个合在一起。如果没断电系统就从RAM恢复反之从硬盘恢复但速度更慢。
本文参照 Power management/Suspend and hibernate 翻译,但增删部分内容,旨在简要描述挂起、睡眠和休眠的工作原理以及实现方式。
```contents
Contents
1 挂起、睡眠和休眠的区别
2 休眠设置
2.1 开启休眠
2.1.1 划分合适大小的swap分区
2.1.2 在bootloader 中增加resume内核参数
2.1.2.1 使用swap file休眠
2.1.3 配置 initramfs的resume钩子
2.2 设置低电量休眠
2.3 设置盖上笔记本盖子或按下电源键休眠
3 参看
```
现主要有三种挂起方式suspend to RAM挂起到内存睡眠suspend to disk休眠和 hybrid suspend 或者 suspend to both内存和硬盘都保存一份内容
* Suspend to RAM将机器中大多数和RAM不相关的部件断电机器状态仅仅保存在RAM中。建议笔记本用户把系统设置成用电池为省电或合盖时自动进入此模式。
* Suspend to disk将机器内容保存至 swap space 交换空间 并完全断电。再次开机时内容恢复。和上一个不同,这个挂起时不会耗电。
* Suspend to both将上面两个合在一起。如果没断电系统就从 RAM 恢复;反之从硬盘恢复,但速度更慢。
## 挂起、睡眠和休眠的区别
暂停并保存当前系统运行状态前后台进程服务不包含buff和cache等有三种方法
暂停并保存当前系统运行状态(前后台进程服务,不包含 buff 和 cache 等)有三种方法:
* 挂起到内存suspend to ram(简称str
* 挂起到内存suspend to ram简称 str
通常被称为挂起,设备通电,低功耗。
挂起也被称为暂停或待机,一般的,系统一段时间没有操作,系统就会挂起(到内存中),多数外围设备会关闭,某些设备会运行(如键盘鼠标),可以快速响应这些设备从而唤醒系统。
* 挂起到磁盘suspend to disk(简称std)
* 挂起到磁盘suspend to disk(简称 std
通常被称为休眠,设备断电,即设备会关机。
休眠也被称为冬眠hibernate实为冬眠之意保存运行状态存到硬盘中然后关机。下次开机后系统从硬盘中读取存储的数据并恢复到关机前的状态。
休眠也被称为冬眠hibernate 实为冬眠之意),保存运行状态存到硬盘中,然后关机。下次开机后,系统从硬盘中读取存储的数据并恢复到关机前的状态。
* 混合挂起suspend to ram and disk(简称strd)
* 混合挂起suspend to ram and disk(简称 strd
通常被称为睡眠,设备通电,低功耗。
睡眠更准确的名称应该是混合睡眠,所谓混合即存储方式上包含了挂起和休眠两种方式,唤醒时会优先从内存中读取数据,如果设备在此状态下断电(例如笔记本电脑在睡眠时外部电源断掉,而睡眠一段时间后内部电源耗尽),就和休眠一样了。
睡眠更准确的名称应该是混合睡眠,所谓混合即存储方式上包含了挂起和休眠两种方式,唤醒时会优先从内存中读取数据,如果设备在此状态下断电(例如笔记本电脑在睡眠时外部电源断掉,而睡眠一段时间后内部电源耗尽),就和休眠一样了。
## 休眠设置
ArchLiux的休眠功能需要用户设置后才能使用。
ArchLiux 的休眠功能需要用户设置后才能使用。
这里介绍使用systemd休眠。
这里介绍使用 systemd 休眠。
### 开启休眠
按照以下步骤设置。
按照以下步骤设置。
#### 划分合适大小的swap分区
#### 划分合适大小的 swap 分区
休眠hibernate需要将内存中的内容写入磁盘的swap分区如果swap分区大小比当前休眠所需空间小则无法保证能够正确地休眠。具体的swap的大小根据个人使用情况要休眠时的内存占用而定。
休眠hibernate需要将内存中的内容写入磁盘的 swap 分区,如果 swap 分区大小比当前休眠所需空间小,则无法保证能够正确地休眠。具体的 swap 的大小根据个人使用情况(要休眠时的内存占用)而定。
如果 swap 分区过小需增大swap分区或减小/sys/power/image_size 。
如果 swap 分区过小,需增大 swap 分区或减小 /sys/power/image_size 。
```blk
注意: brtfs格式无法设置swap分区。
注意: brtfs 格式无法设置 swap 分区。
```
#### 在bootloader 中增加resume内核参数
#### 在 bootloader 中增加 resume 内核参数
需要添加resume=/dev/sdxY (sdxY 是swap分区的名字) 让系统在启动时读取swap分区中的内容。
需要添加resume=/dev/sdxYsdxY 是 swap 分区的名字),让系统在启动时读取 swap 分区中的内容。
例如使用了grub2作为bootloaderswap的分区是/dev/sda3。
例如,使用了 grub2 作为 bootloaderswap 的分区是 /dev/sda3。
1.编辑 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX_DEFAULT 中添加 resume=/dev/sda3 ,假如该行的原有内容是:
@ -76,15 +75,15 @@ ArchLiux的休眠功能需要用户设置后才能使用。
GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_pstate=enable”
```
添加resume参数后就是
添加 resume 参数后就是:
```ini
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable resume=/dev/sda3"
```
#### 使用swap file休眠
#### 使用 swap file 休眠
可以使用 swap file 代替 swap 分区除了添加resume参数外还需要添加额外的内核参数resume_offset=swap_file_offset。 swap_file_offset的值可以通过运行filefrag -v swap_file获得该命令输出的表格第一行中的physical_offset 值即为swap_file_offset
可以使用 swap file 代替 swap 分区,除了添加 resume 参数外,还需要添加额外的内核参数 resume_offset=swap_file_offset。 swap_file_offset 的值可以通过运行 filefrag -v swap_file 获得,该命令输出的表格第一行中的 physical_offset 值即为 swap_file_offset
```bash
$ filefrag -v /swapfile
@ -98,7 +97,7 @@ File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)
...
```
在上面的表格中swap_file_offset的值就是38912。
在上面的表格中swap_file_offset 的值就是 38912。
2.更新 grub 配置:
@ -106,25 +105,25 @@ File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)
grub-mkconfig -o /boot/grub/grub.cfg
```
#### 配置 initramfs的resume钩子
#### 配置 initramfs resume 钩子
1.添加resume钩子 编辑/etc/mkinitcpio.conf在HOOKS行中添加resume钩子 例如该行原有内容是:
1.添加 resume 钩子 编辑 /etc/mkinitcpio.conf HOOKS 行中添加 resume 钩子:例如该行原有内容是:
```ini
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
```
添加resume后就是
添加 resume 后就是:
```ini
HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"
```
```blk
注意: 如果使用lvm分区需要将resume放在lvm后面
注意: 如果使用 lvm 分区,需要将 resume 放在 lvm 后面
```
使用lvm的示例
使用 lvm 的示例:
```ini
HOOKS="base udev autodetect modconf block lvm2 resume filesystems keyboard fsck"
@ -140,7 +139,7 @@ mkinitcpio -p linux
用于带有内置电池的设备。
当电池电量极低时,使其休眠,以免丢失数据。 修改/etc/UPower/UPower.conf相关配置.示例,在电量低至%5时自动休眠
当电池电量极低时,使其休眠,以免丢失数据。 修改 /etc/UPower/UPower.conf 相关配置.示例,在电量低至 %5 时自动休眠:
```ini
PercentageLow=15 #<=15%低电量
@ -149,35 +148,35 @@ PercentageAction=5 #<=5%执行动作即CriticalPowerAction)的电量
CriticalPowerAction=Hibernate #(在本示例中是电量<=5%)执行关机
```
当电池低至5%,设备会自动休眠。
当电池低至 5%,设备会自动休眠。
CriticalPowerAction的取值有Poweroff、Hibernate和Hybid-sleep。
CriticalPowerAction 的取值有 Poweroff、Hibernate Hybid-sleep。
更多配置项参考该文件中的说明。
更多配置项参考该文件中的说明。
### 设置盖上笔记本盖子或按下电源键休眠
1.编辑/etc/systemd/logind.conf 盖上盖子休眠,添加:
1. 编辑 /etc/systemd/logind.conf盖上盖子休眠添加
```ini
HandleLidSwitch=hibernate
```
```ini
HandleLidSwitch=hibernate
```
按下电源键休眠,添加:
按下电源键休眠,添加:
```ini
HandlePowerKey=hibernate
```
```ini
HandlePowerKey=hibernate
```
2.执行以下命令使其立即生效:
2. 执行以下命令使其立即生效:
```bash
systemctl restart systemd-logind
```
```bash
systemctl restart systemd-logind
```
其他详细的设置请参考[电源管理页面](https://wiki.archlinux.org/index.php/Power_management_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87))。
其他详细的设置请参考[电源管理页面](https://wiki.archlinux.org/index.php/Power_management_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87))。
## 参阅
[linux-laptop笔记本相关](https://github.com/levinit/itnotes/blob/master/linux/laptop%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%9B%B8%E5%85%B3.md)
[linux笔记本设置休眠](http://www.cnblogs.com/unkownarea/p/7471285.html)
1. [linux-laptop笔记本相关](https://github.com/levinit/itnotes/blob/master/linux/laptop%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%9B%B8%E5%85%B3.md)
2. [linux笔记本设置休眠](http://www.cnblogs.com/unkownarea/p/7471285.html)