挂起至 RAM 的故障排除提示

挂起至 RAM 的故障排除提示

我正在寻求有关 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 挂起命令挂起和恢复。

相关内容