我正在寻求有关 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 的菜单选项(挂起)和systemd suspend
.正如我所提到的,这些简短的测试似乎有效。但它不会从隔夜暂停中恢复。
BIOS 显示品牌 American Megatrends Inc。我看到更改 CPU P State、CPU HWPM State 和 CPU C State 的选项以及其他选项。我对这些选项中的任何一个都不熟悉,目前它们都设置为默认值(即,最重要的“电源技术”设置设置为“节能”,它显然会自动管理所有这些设置。)
我的问题是我应该尝试哪些设置来暂停 ram 在最新的 Linux 版本中的工作?
以下是系统进入挂起至 RAM 模式时的最终日志条目:
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:2 个 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.
答案1
我必须将 CPU C 状态限制为 C2 级别,以便让我的系统从挂起状态恢复到 RAM 状态。这就是一般要点。
具体来说,对于配备 Xeon E5-2630 v4 CPU 的 Supermicro X10DAL,请确保您运行的是 Supermicro BIOS 3.0a 或更高版本。引导至 BIOS 并转至高级 > CPU 配置 > 高级电源管理配置。将电源技术设置为自定义。将 CPU C 状态控制设置为 C2。
systemd suspend
我的系统现在将使用DE 挂起命令或通过 DE 挂起命令挂起和恢复。