RAM 일시 중단에 대한 문제 해결 팁

RAM 일시 중단에 대한 문제 해결 팁

최신 Linux 커널에서 RAM을 적절하게 일시 중단하기 위해 Supermicro X10DAL-i 시스템(듀얼 Xeon CPU 포함)에 대한 올바른 커널 명령줄 옵션 및/또는 BIOS 설정에 대한 조언을 찾고 있습니다. 현재 이 커널을 실행 중입니다.

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의 메뉴 옵션(hang)과 systemd suspend. 그러나 밤새 일시 중지된 상태에서는 다시 시작되지 않습니다.

BIOS 디스플레이 브랜드 American Megatrends Inc. 다른 옵션 중에서 CPU P 상태, CPU HWPM 상태 및 CPU C 상태를 변경하는 옵션이 표시됩니다. 저는 이러한 옵션에 대해 잘 알지 못하며 현재는 모두 기본값으로 설정되어 있습니다. 즉, 가장 중요한 "전력 기술" 설정이 "에너지 절약"으로 설정되어 있어 모든 옵션이 자동으로 관리되는 것 같습니다.

내 질문은 최신 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)

제가 알고 있는 유일한 4가지 시스템 절전 상태는 다음과 같기 때문에 "systemd-sleep" 줄이 궁금합니다.

  • 일시 정지(제가 사용하는 방법입니다)
  • 동면하다
  • 혼합 수면
  • 일시 중지한 후 최대 절전 모드로 전환

위의 내용 이후에는 이 부팅에 대한 로그 항목이 없습니다. 시스템을 "깨우기" 위해 시스템을 재부팅해야 했습니다(하드 전원 재설정).

이는 관련이 있을 수 있습니다:

[upower][1]패키지(버전: 0.99.7-1)를 설치 했습니다 . (kdelibs의 종속물로 설치되었습니다.) /etc/UPower/UPower.conf의 설정을 변경하지 않았으며 데스크탑 시스템이므로 upower가 관련이 있는지 잘 모르겠습니다.

고양이/시스템/전원/디스크

[platform] shutdown reboot suspend test_resume 

고양이/시스템/전원/상태

freeze mem disk

고양이 /proc/acpi/wake

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 | 유휴 상태 유지

[    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: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz 2개

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

시스템을 일시 중단 상태에서 RAM 상태로 복원하려면 CPU C 상태를 C2 수준으로 제한해야 합니다. 이것이 일반적인 요점입니다.

특히, Xeon E5-2630 v4 CPU를 탑재한 Supermicro X10DAL의 경우 Supermicro BIOS 3.0a 이상을 실행하고 있는지 확인하세요. BIOS로 부팅하고 고급 > CPU 구성 > 고급 전원 관리 구성으로 이동합니다. 전원 기술을 사용자 정의로 설정합니다. CPU C 상태 제어를 C2로 설정합니다.

systemd suspend이제 내 시스템은 DE 일시 중지 명령을 사용하거나 DE 일시 중지 명령을 통해 일시 중지 및 재개됩니다.

관련 정보