Acabei de encontrar uma falha desconcertante. Acordei meu laptop (windows 10) de um fim de semana dormindo (talvez hibernação) e percebi que o relógio estava errado. Eram 13h31 de segunda-feira, mas meu computador afirmou que eram 12h27 de terça-feira. Eh, talvez um erro de rede. Voltei para minha mesa alguns minutos depois, olhei um pouco mais... Em algum momento percebi que eram 13h43, mas meu computador alegou 12h31, como se tivesse perdido 8 do passado 12 minutos. eu fui parahttps://currentmillis.com/e para minha surpresa, o contador de milissegundos aumentava muito lentamente; cerca de 10 ms a cada segundo. (Tirei uma captura de tela a cada segundo por talvez 10 segundos, que posso fornecer se necessário, mas não acho que fornecerá mais informações úteis.) Na verdade, ESTÁ FAZENDO DE NOVO. E eu iniciei um programa de teste java, em uma impressão de loop while infinito System.currentTimeMillis()
e Thread.sleep(1000);
ele está exibindo um comportamento semelhante - ele faz uma pausa pordiversossegundos e depois cospe um monte de carimbos de data/hora. Atéentreaglomerados, porém, apenas milissegundos passam. Anexei um log ao final da minha postagem. Em algum momento, começou a funcionar normalmente. Percebo, em retrospecto, que houve alguns segundos em que o tempo retrocedeu algumas horas,aproximadamentepara a hora correta. Outra coisa que notei (está acontecendo de novo agora) é que durante os tempos estranhos de lentidão, o Firefox, o Outlook e o Desktop Windows Manager estão usando 100% da GPU. 100% da GPU parece correlacionar-se exatamente com as travessuras do tempo, pelo melhor que posso dizer sem registros mais precisos.
Em última análise, gostaria de saber por que isso aconteceu ou como PODERIA ter acontecido. Reiniciar o computador fez com que o relógio parasse de exibir o comportamento estranho, então não preciso saber como encerrar a ocorrência da falha, mas, em primeiro lugar, eu teria pensado que esse tipo de comportamento era quase impossível. Muitos programas de servidor dependem de tempos limite e, se o relógio parar efetivamente por 13 minutos, isso poderá causar uma grande variedade de outros problemas. Duvido que consiga reproduzir o problema, portanto, uma depuração adicional é inviável. Essencialmente, quero saber se alguém já ouviu falar de algo semelhante ou pode apresentar uma teoria plausível com base no conhecimento do funcionamento mais profundo do mecanismo de horário do sistema do Windows (que eu não tenho).
Amostra de carimbos de data/hora registrados:
1553575488576
1553575488584
1553575488591
1553575488599
1553575488606
1553575488614
1553575488621
1553575488628
1553575488636
1553575488643
1553575488651
1553575488658
1553575488665
1553575488673
1553575488680
1553575488688
1553575488695
1553575488703
1553575488710
1553575488717
1553575488725
1553575488732
1553575488740
1553575488747
1553575488754
1553575488762
1553575488769
1553575488777
1553575488784
1553575488791
1553575488799
1553575488806
1553575488814
1553575488821
1553575488828
1553575488836
1553575488843
1553575488851
1553575488858
1553575488865
1553575488873
1553575488880
1553575488888
1553575488895
1553575488902
1553575488910
1553575488917
1553575488925
1553575488932
1553575488940
1553575488947
1553575488955
1553575488962
1553575488969
1553575488977
1553575488984
1553575488992
1553575488999
1553575489006
1553575489014
1553575489021
1553575489029
1553575489036
1553575489044
1553575489051
1553575489058
1553575489066
1553575489073
1553575489081
1553575489088
1553575489095
1553575489103
1553575489110
1553575489118
1553575489125
1553575489132
1553575489140
1553575489147
1553575489155
1553575489162
1553575489169
1553575489177
1553575489184
1553575489192
1553575489199
1553575489206
1553575489214
1553575489221
1553575489229
1553575489236
1553575489243
1553575489251
1553575489258
1553575489265
1553575489273
1553575489280
1553575489288
1553575489295
1553575489303
1553575489310
1553575489317
1553575489325
1553575489332
1553575489340
1553575489347
1553575489354
1553575489362
1553575489369
1553575489376
1553575489384
1553575489391
1553575489399
1553575489406
1553575489413
1553575489421
1553575489428
1553575489436
1553575489443
1553575489450
1553575489458
1553575489465
1553575489473
1553575489480
1553575489487
1553575489495
1553575489502
1553575489510
1553575489517
1553575489524
1553575489532
1553575489539
1553575489547
1553575489554
1553575489561
1553575489569
1553575489576
1553575489584
1553575489591
1553575489598
1553575489606
1553575489613
1553575489621
1553575489628
1553575489635
1553575489643
1553575489650
1553575489658
1553575489665
1553575489672
1553575489680
1553575489687
1553575489695
1553575489702
1553575489709
1553575489717
1553575489724
1553575489732
1553575489739
1553575489746
1553575489754
1553575489761
1553575489769
1553575489776
1553575489783
1553575489791
1553575489798
1553575489806
1553575489813
1553575489820
1553575489828
1553575489835
1553575489843
1553575489850
1553575489857
1553575489865
1553575489872
1553575489880
1553575489887
1553575489895
1553575489902
1553575489909
1553575489917
1553575489924
1553575489932
1553575489939
1553575489946
1553575489954
1553537091156
1553537092160
1553537093161
1553537094162
1553537095163
1553537096164
1553537097164
1553537098165
1553537099174
1553537100193
1553537101196
1553537102209
1553537103214
1553537104215
1553537105216
1553537106216
1553576225618
1553576226620
1553576227623
1553576228626
1553576229628
1553576230630
1553576231632
1553576232636
1553576233639
1553576234641
1553576235644
1553576236646
1553576237648
1553576238650
Editar: coletei mais dados e transformei-os em um gráfico. A linha azul é a progressão do tempo, contada pela tentativa de sysout currentTimeMillis a cada segundo. Quando o relógio estava falhando, os logs se agrupavam em grupos de sete ou mais, mas ainda assim a média era de uma linha por segundo, então acho que você pode tratar o eixo x como estando em segundos. (Subtraí o primeiro carimbo de data e hora e cortei tudo para 41M, para que os padrões no gráfico fiquem visíveis. Não acredito que nenhuma informação que removi tenha sido particularmente útil.) Observando o gráfico, parece que o que estava acontecendo era que em ciclos de aproximadamente 18 minutos, o relógio ficaria normal por 5 minutos (embora ~11 horas adiantado), depois 13 minutos de relógio muito lento, depois um breve retrocesso de muitas horas, depois um salto para frente até um ponto como se o segmento lento nunca ocorreu. (Quando calculei a taxa média em um ciclo, obtive 1003 ms/amostra, embora admita que a conexão entre a taxa de amostragem registrada e a taxa de amostragem REAL é baseada em minha própria estimativa. Mesmo assim, acredito que a taxa de clock está na média à taxa correta, ao longo de um ciclo.) Editar: Para sua informação, acabei de experimentar a falha novamente hoje. Provavelmente relevante: deixei meu laptop dormindo por cerca de 5 dias e ele apresentou o problema na próxima vez que o liguei. Observe também: Windows 10 Enterprise, versão 1803, compilação 17134.590.