- Enviado
- 23 de setembro de 2026 às 19:17 UTC
- Autor
- Kamo
- Confirmação
- 4673e45
Com o pouso reinício, o primeiro computador veio com currículoConfigured true e parou no a próxima condição prévia — que se revela insatisfatória pela construção: swapBytes 2095468544 a área USÁVEL, de /proc/swaps swapNeededBytes 2095474483 int(MemTotal * 1.05) - Oh, não! curto por 5.939 de um arquivo de 2 GB a propension () mede a área que o mkswap deixou utilizável. assure swap alocou o arquivo exatamente no número que a área é comparada contra, e mkswap pega uma página de cabeçalho e roda o resto para baixo para páginas inteiras — então a área utilizável é sempre alguns KB a menos de seu próprio alvo. Então assegurar apertar cedo-retornos em `have== want bytes`, para que ele nunca cresce, e swapLargeEnough permanece falso para sempre. O arquivo agora é alocado com uma margem, e a margem é 16 MiB em vez da página mkswap needs, porque MemTotal não é uma constante: o kernel exclui o firmware e a reserva initrd, e que se moveu por 5,6 KB entre duas botas desta mesma VM. Uma margem medida em páginas deixaria um computador um kernel upgrade longe de nunca mais dormir novamente. O retorno antecipado é agora 'tem >= alvo', não `==`. Igualdade significava um MemTotal oscilar em qualquer um direção reescreveu um arquivo de 2 GB em um volume Longhorn em uma máquina que já estava bem. Também aqui, porque ambos foram encontrados pela mesma investigação: O reinício agora é perseguido pelo vigia ocioso em vez de por quem quer que chame /prepare-sono. Ambos os momentos que parecem certos estão errados. O tópico de inicialização do agente é executado antes O serviço de computação empurrou qualquer coisa, por isso ainda não há nada para proteger. E /prepare-dormir não é chamado pelo computservice em tudo — o método cliente existe e não tem chamador; o chamador real é um runcmd em cloud-init.userdata.yaml, que dispara no MIDDLE de provisionamento. Então a questão é: simplesmente re-perguntado a cada trinta segundos pelo observador que já estava pesquisando, Provisionamento push ter pousado e não haver nenhuma sessão desktop. Aquele segundo portão é mais forte. do que parece: uma sessão do xrdp sobrevive a uma desconexão, por isso uma lista vazia significa que ainda ninguém entrou ou toda a gente se desligou, não apenas que ninguém está no teclado. Recusa o registo uma vez por razão distinta. Nunca silêncio, e não duas mil linhas idênticas por dia. A recusa `systemctl hibernate` agora atinge o diário. No sucesso o comando nunca retorna, então o A única coisa que ele pode imprimir é por que ele disse não — e que foi para DEVNULL, deixando o serviço de computação para note dez minutos depois que um computador "não dormiu quando perguntado" sem razão em nenhum lugar. run forever é dividido no loop e tick(), então as decisões podem ser testadas. 43 testes.
