Ubuntu desenvolve suporte mais rápido à hibernação

Começa desenvolvimento do Ubuntu 21.04
ubuntu

Um conjunto de correções enviadas na semana passada por Andrea Righi, da Canonical, que faz parte da Equipe do Kernel do Ubuntu, trabalha no suporte necessário e urgente à recuperação de memória como forma de obter uma hibernação do sistema muito mais rápida e retomar o desempenho.

Ao hibernar o sistema e precisar despejar todo o conteúdo da RAM no dispositivo de troca e retomada, o kernel pode tentar liberar algumas páginas que não precisam ser salvas no disco. Sendo assim, elas podem ser facilmente regeneradas no tempo de retomada sem muito esforço ou sobrecarga, facilitando, pois, o recarregamento.

Devido à E/S envolvida na liberação da memória do sistema e na gravação da imagem de hibernação em disco, esse é um dos principais gargalos. Assim, essas correções de recuperação de memória da Canonical podem deixar essa tarefa mais fácil. A recuperação de memória oportunista pode permitir que o espaço do usuário ative a pressão de recuperação de memória artificial antes do processo de hibernação real, como quando o sistema estiver ocioso por um período definido e provavelmente hibernado em breve.

Ubuntu desenvolve suporte mais rápido à hibernação

Ubuntu desenvolve suporte mais rápido à hibernação

Ao executar esse processo de recuperação de memória, a hibernação real é muito mais rápida e, da mesma forma, o tempo de retomada. Isso graças a ter menos dados a recuperar da imagem do disco. A solicitação de correções de comentários expõe novos botões via sysfs para acionar o processo e um ajuste para quantas páginas devem tentar ser recuperadas.

Embora isso possa beneficiar todos os sistemas em hibernação, a motivação da Canonical está focada nas instâncias da nuvem que hibernam quando outras instâncias estão sendo priorizadas em seu lugar. Para poder hibernar mais rapidamente essas instâncias quando necessário, a infraestrutura de nuvem pode responder melhor às necessidades e capacidades em mudança.

Os testes realizados até agora por Andrea Righi mostraram que, com as correções oportunistas de recuperação de memória, a demora do processo de hibernação poderia cair de 51 segundos para apenas 4 segundos em uma configuração padrão ou com o tamanho de imagem mais baixo variando de 73 segundos a 5 segundos. Na configuração padrão, o processo de retomada também acelerou de 26 a 5 segundos.

Por enquanto os patches estão disponíveis para revisão na lista de discussão. É muito tarde para ver o material no Linux 5.8, mas ele deve fazer parte da versão  5.9 se tudo correr bem. Além dos patches do kernel, você também precisará integrar o respectivo acionamento dessa recuperação de memória oportunista após um limite ocioso definido antes da hibernação. Do mesmo modo, pode ser adotada outra política para lidar com essa tarefa antes da hibernação do sistema.