我正在寻求有关 Supermicro X10DAL-i 系统(具有双 Xeon CPU)的正确内核命令行选项和/或 BIOS 设置的建议,以便在最近的 Linux 内核下正确挂起到 RAM。我目前正在运行这个内核:
Linux 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018 x86_64 GNU/Linux
在我的其他计算机上,挂起到 RAM“只适用于”Linux。但是,在这个系统上,它不会在暂停一夜后恢复。我的猜测是系统进入了“太深”的睡眠状态。我没有使用休眠或挂起混合。我只想暂停到 RAM。
在较早的暂停测试中,系统在暂停几分钟后确实恢复了。我所要做的就是敲击键盘上的任意键。但是在被暂停一夜之后,它没有响应。我短暂地按下了电源按钮。对此,风扇打开了,我认为系统可能会恢复,但事实并非如此。我无法通过控制台或 SSH 访问它。
该系统与我的其他将暂停和恢复的系统之间的唯一区别是主板(并且它具有更多 RAM)。在我所有的系统上,我都在使用 systemd、systemd-boot 和 UEFI。我正在运行 KDE。我有一个带有专有驱动程序的 nvidia GPU。我的其他具有相同 GPU 和驱动程序的系统正常挂起和恢复。
我使用 KDE 的菜单选项 (suspend) 和systemd suspend
. 正如我所提到的,这些简短的测试似乎奏效了。但它不会从一夜之间的暂停中恢复。
BIOS 显示 American Megatrends Inc. 品牌。我看到更改 CPU P 状态、CPU HWPM 状态和 CPU C 状态的选项以及其他选项。我不熟悉这些选项中的任何一个,目前它们都设置为默认值(即,最重要的“电源技术”设置被设置为“节能”,这显然会自动管理所有这些设置。)
我的问题是我应该尝试暂停哪些设置以使 ram 在最近的 Linux 版本中工作?
以下是系统进入挂起到内存模式时的最终日志条目:
Jun 26 23:20:26 X10DALi systemd[1]: Starting system activity accounting tool...
Jun 26 23:20:26 X10DALi systemd[1]: Started system activity accounting tool.
Jun 26 23:30:26 X10DALi systemd[1]: Starting system activity accounting tool...
Jun 26 23:30:26 X10DALi systemd[1]: Started system activity accounting tool.
Jun 26 23:32:16 X10DALi NetworkManager[997]: <info> [1530070336.6408] manager: sleep: sleep requested (sleeping: no enabled: yes)
Jun 26 23:32:16 X10DALi NetworkManager[997]: <info> [1530070336.6413] manager: NetworkManager state is now ASLEEP
Jun 26 23:32:17 X10DALi systemd[1]: Reached target Sleep.
Jun 26 23:32:17 X10DALi systemd[1]: Starting Suspend...
Jun 26 23:32:17 X10DALi systemd-sleep[10662]: Suspending system...
Jun 26 23:32:17 X10DALi kernel: PM: suspend entry (deep)
我对“systemd-sleep”这一行很好奇,因为我熟悉的唯一 4 个 systemd 省电状态是:
- 暂停(这是我使用的)
- 休眠
- 混合睡眠
- 暂停然后休眠
在上述之后没有此引导的日志条目。我不得不重新启动系统(硬电源重置)以使其“唤醒”。
这可能是相关的:
我确实安装了软件包[upower][1]
(版本:0.99.7-1)。(它是作为 kdelibs 的依赖项安装的。)我没有更改 /etc/UPower/UPower.conf 中的任何设置,因为这是一个桌面系统,我不确定 upower 是否相关。
猫/系统/电源/磁盘
[platform] shutdown reboot suspend test_resume
猫/系统/电源/状态
freeze mem disk
猫 /proc/acpi/唤醒
Device S-state Status Sysfs node
IP2P S3 *disabled
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *enabled pci:0000:00:1a.0
RP01 S4 *disabled pci:0000:00:1c.0
PXSX S4 *disabled
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled pci:0000:00:1c.2
PXSX S4 *enabled pci:0000:04:00.0
RP04 S4 *disabled pci:0000:00:1c.3
PXSX S4 *enabled pci:0000:05:00.0
RP05 S4 *disabled
PXSX S4 *disabled
RP06 S4 *disabled
PXSX S4 *disabled
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
BR1A S4 *disabled pci:0000:00:01.0
PXSX S4 *disabled
BR1B S4 *disabled
PXSX S4 *disabled
BR2A S4 *disabled
PXSX S4 *disabled
BR2B S4 *disabled
PXSX S4 *disabled
BR2C S4 *disabled
PXSX S4 *disabled
BR2D S4 *disabled
PXSX S4 *disabled
BR3A S4 *disabled pci:0000:00:03.0
PXSX S4 *disabled
BR3B S4 *disabled
PXSX S4 *disabled
BR3C S4 *disabled
PXSX S4 *disabled
BR3D S4 *disabled
PXSX S4 *disabled
XHCI S4 *enabled pci:0000:00:14.0
QRP0 S4 *disabled
PXSX S4 *disabled
QR1A S4 *disabled
PXSX S4 *disabled
QR1B S4 *disabled
PXSX S4 *disabled
QR2A S4 *disabled pci:0000:80:02.0
PXSX S4 *disabled
QR2B S4 *disabled
PXSX S4 *disabled
QR2C S4 *disabled
PXSX S4 *disabled
QR2D S4 *disabled pci:0000:80:02.3
PXSX S4 *disabled
QR3A S4 *disabled
PXSX S4 *disabled
QR3B S4 *disabled
PXSX S4 *disabled
QR3C S4 *disabled
PXSX S4 *disabled
QR3D S4 *disabled
PXSX S4 *disabled
RRP0 S4 *disabled
PXSX S4 *disabled
RR1A S4 *disabled
PXSX S4 *disabled
RR1B S4 *disabled
PXSX S4 *disabled
RR2A S4 *disabled
PXSX S4 *disabled
RR2B S4 *disabled
PXSX S4 *disabled
RR2C S4 *disabled
PXSX S4 *disabled
RR2D S4 *disabled
PXSX S4 *disabled
RR3A S4 *disabled
PXSX S4 *disabled
RR3B S4 *disabled
PXSX S4 *disabled
RR3C S4 *disabled
PXSX S4 *disabled
RR3D S4 *disabled
PXSX S4 *disabled
SRP0 S4 *disabled
PXSX S4 *disabled
SR1A S4 *disabled
PXSX S4 *disabled
SR1B S4 *disabled
PXSX S4 *disabled
SR2A S4 *disabled
PXSX S4 *disabled
SR2B S4 *disabled
PXSX S4 *disabled
SR2C S4 *disabled
PXSX S4 *disabled
SR2D S4 *disabled
PXSX S4 *disabled
SR3A S4 *disabled
PXSX S4 *disabled
SR3B S4 *disabled
PXSX S4 *disabled
SR3C S4 *disabled
PXSX S4 *disabled
SR3D S4 *disabled
PXSX S4 *disabled
我没有/etc/systemd/sleep.conf
文件(或任何 sleep.conf.d 文件)。
更新:我正在添加更多信息:
dmesg | grep 空闲
[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370452778343963 ns
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns
[ 0.019999] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x1fa2b80c9f8, max_idle_ns: 440795260495 ns
[ 0.064738] process: using mwait in idle threads
[ 1.178343] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[ 1.180025] cpuidle: using governor ladder
[ 1.180037] cpuidle: using governor menu
[ 17.698747] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[ 18.097294] intel_idle: MWAIT substates: 0x2120
[ 18.097295] intel_idle: v0.4.1 model 0x4F
[ 18.099136] intel_idle: lapic_timer_reliable_states 0xffffffff
[ 19.090095] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1fa3704c1a9, max_idle_ns: 440795296692 ns
CPU:2x Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Supermicro 建议使用以下 BIOS 设置:
Advanced Power Management Configuration -> Power Technology Select Custom to customize system power settings
CPU C State Control: choose the options are C0/1 state, C2 state, C6 (non-Retention) state, and C6 (Retention) state.
为了让我的系统从挂起到内存恢复,我不得不将 CPU C 状态限制在 C2 级别。这是一般的外卖。
具体来说,对于配备 Xeon E5-2630 v4 CPU 的 Supermicro X10DAL,请确保您运行的是 Supermicro BIOS 3.0a 或更高版本。启动进入 BIOS 并转到高级 > CPU 配置 > 高级电源管理配置。将电源技术设置为自定义。将 CPU C 状态控制设置为 C2。
我的系统现在将使用
systemd suspend
DE 挂起命令或通过 DE 挂起命令挂起和恢复。