![RAM 일시 중단에 대한 문제 해결 팁](https://linux55.com/image/136020/RAM%20%EC%9D%BC%EC%8B%9C%20%EC%A4%91%EB%8B%A8%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%AC%B8%EC%A0%9C%20%ED%95%B4%EA%B2%B0%20%ED%8C%81.png)
최신 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 일시 중지 명령을 통해 일시 중지 및 재개됩니다.