掛起到 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 的菜單選項 (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 掛起命令掛起和恢復。