AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 452282
Accepted
MountainX
MountainX
Asked: 2018-06-28 09:38:28 +0800 CST2018-06-28 09:38:28 +0800 CST 2018-06-28 09:38:28 +0800 CST

Dicas de solução de problemas para Suspend-to-RAM

  • 772

Estou procurando conselhos sobre opções adequadas de linha de comando do kernel e/ou configurações de BIOS para um sistema Supermicro X10DAL-i (com CPUs Xeon duplas) para suspensão adequada para RAM em kernels Linux recentes. Atualmente estou executando este kernel:

Linux 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018 x86_64 GNU/Linux

Em meus outros computadores, suspender para RAM "simplesmente funciona" com Linux. No entanto, neste sistema, ele não seria retomado após ser suspenso durante a noite. Meu palpite é que o sistema entrou em um estado de suspensão "muito profundo". Eu não estou usando hibernate ou suspend-hybrid. Eu só quero suspender a RAM.

Em um teste anterior de suspensão, o sistema foi retomado após alguns minutos de suspensão. Tudo o que eu tinha que fazer era apertar qualquer tecla do teclado. Mas depois de ser suspenso durante a noite, não respondeu. Apertei brevemente o botão de energia. Em resposta a isso, os ventiladores ligaram e pensei que o sistema poderia ser retomado, mas não. Não consegui acessá-lo via console ou SSH.

A única diferença entre este sistema e meus outros sistemas que serão suspensos e retomados é a placa-mãe (e tem mais RAM). Em todos os meus sistemas estou usando systemd, systemd-boot e UEFI. Estou executando o KDE. Eu tenho uma GPU nvidia com o driver proprietário. Meu outro sistema com a mesma GPU e driver suspende e reinicia corretamente.

Eu testei suspender neste sistema usando a opção de menu do KDE (suspender) e com systemd suspend. Como mencionei, esses testes curtos pareciam funcionar. Mas não seria retomado a partir de uma suspensão durante a noite.

A BIOS exibe a marca American Megatrends Inc. Vejo opções para alterar o estado da CPU P, o estado da CPU HWPM e o estado da CPU C junto com outras opções. Não estou familiarizado com nenhuma dessas opções e, atualmente, todas estão definidas com os valores padrão (ou seja, a configuração de substituição "Tecnologia de energia" está definida como "Eficiente em energia", que aparentemente gerencia todas essas configurações automaticamente).

Minha pergunta é quais configurações devo tentar suspender a ram funcionando nas versões recentes do Linux?

Aqui estão as entradas de log finais quando o sistema entrou em modo de suspensão para 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)

Estou curioso sobre a linha com "systemd-sleep" porque os únicos 4 estados de economia de energia do systemd com os quais estou familiarizado são:

  • suspender (que é o que eu usei)
  • hibernar
  • sono híbrido
  • suspender-e-hibernar

Não há entradas de diário para esta inicialização após o acima. Eu tive que reiniciar o sistema (reinicialização de energia) para fazê-lo "acordar".

Isso pode ser relevante:

Eu tenho o pacote [upower][1]instalado (Versão: 0.99.7-1). (Foi instalado como uma dependência do kdelibs.) Não alterei nenhuma configuração em /etc/UPower/UPower.conf e como este é um sistema desktop, não tenho certeza se o upower é relevante.

cat /sys/power/disco

[platform] shutdown reboot suspend test_resume 

cat /sys/power/state

freeze mem disk

gato /proc/acpi/wakeup

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

Eu não tenho um /etc/systemd/sleep.confarquivo (ou qualquer arquivo sleep.conf.d).

ATUALIZAÇÃO: Estou adicionando mais informações:

dmesg | grep ocioso

[    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

A Supermicro sugeriu estas configurações do 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.
suspend power-management
  • 1 1 respostas
  • 2451 Views

1 respostas

  • Voted
  1. Best Answer
    MountainX
    2018-07-03T11:34:42+08:002018-07-03T11:34:42+08:00

    Eu tive que limitar os estados C da CPU ao nível C2 para fazer com que meu sistema voltasse da suspensão para a RAM. Esse é o take-away geral.

    Especificamente, em relação ao Supermicro X10DAL com CPUs Xeon E5-2630 v4, certifique-se de estar executando o Supermicro BIOS 3.0a ou posterior. Inicialize no BIOS e vá para Advanced > CPU Configuration > Advanced Power Management CONfiguration. Defina a tecnologia de energia como personalizada. Defina o Controle de Estado C da CPU para C2.

    Meu sistema agora suspenderá e retomará usando systemd suspendou por meio de comandos de suspensão DE.

    • 1

relate perguntas

  • Desativando a inibição do gerenciamento de energia do Chromium XFCE

  • Laptop acorda quando a tampa está fechada

  • Erro de leitura no dispositivo de troca

  • Impedir a rotação do disco rígido

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve