Eu tive exatamente o mesmo problema, estava me incomodando há muito tempo. É especialmente irritante ao trabalhar remotamente através de SSH ou jogar jogos multiplayer. Aqui está minha solução a longo prazo:
Diagnóstico
Execute o ping com frequência 10 verificações por segundo para ver quando ocorre a falha:
ping 8.8.8.8 -i 0.1
Serviços de digitalização e localização
Como mencionado por outros, os picos de WiFi geralmente são causados pelo daemon de WiFi que escaneia outras redes WiFi ao redor. A varredura passa por todos os canais; portanto, se o canal de recebimento atual não for o mesmo que o seu AP está transmitindo, você terá um pico de ping.
A verificação geralmente é acionada pelos serviços de localização. Você pode rever os serviços de localização em: System Preferences -> Security & Privacy -> Privacy tab -> Location Services
.
Se você for Advanced
verificar o Show location icon in the menu bar...
aplicativo para ver quando os aplicativos estão consultando o local, a verificação é feita no bairro WiFi.
Os serviços de localização ainda estavam ativos por causa de System services
. Principalmente Time Zone & System Customisation
e Significant Locations
. Mas, depois de desativá-lo, eu ainda tinha uma falha no Wi-Fi, apesar dessa janela de configuração do local não mostrar outro aplicativo que adquirisse o local.
Encontrando o culpado
Você precisa habilitar o log do WiFi para ver por que o daemon WiFi está fazendo a verificação.
Mantenha option/alt
pressionada a tecla (ao lado da tecla de comando) e clique no ícone WiFi na barra de ferramentas superior. Clique em Enable Wi-Fi Logging
.
Depois disso, abra um novo terminal:
tail -f /var/log/wifi.log
Você deve ver algo assim:
Mon Jan 14 20:01:21.353 AutoJoin: <airportd[83093]> Successful cache-assisted scan request for texstudio with channels {(
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfadc5b20> [channelNumber=56(5GHz), channelWidth={40MHz(-1)}, active, DFS],
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfadcbfb0> [channelNumber=60(5GHz), channelWidth={40MHz(+1)}, active, DFS],
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfd44c790> [channelNumber=64(5GHz), channelWidth={40MHz(-1)}, active, DFS],
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfadc6ba0> [channelNumber=149(5GHz), channelWidth={80MHz}, active],
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfad2be90> [channelNumber=153(5GHz), channelWidth={80MHz}, active],
Mon Jan 14 20:01:21.353 <CWChannel: 0x7fbcfadf4870> [channelNumber=157(5GHz), channelWidth={80MHz}, active]
Mon Jan 14 20:01:21.353 )} took 0.0005 seconds, returned 2 results
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 161 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 165 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 100 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 104 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 108 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio on channel 112 does not require a live scan
Mon Jan 14 20:01:21.353 Scan: <airportd[83093]> Cache-assisted scan request for texstudio does not require a live scan
Agora observe o terminal ping e o terminal de log wifi próximos um do outro. Você pode ver claramente as ocorrências de falhas precisamente quando o WiFi está fazendo a verificação.
No meu caso, o culpado era um programa texstudio
, como você pode ver no log. Ele estava adquirindo local a cada 5 segundos (peso?), O que também foi confirmado por esse cara: https://justus.berlin/2016/04/reducing-cpu-load-and-energy-consumption-of-texstudio- on-the-mac /
Isso resolveu meu problema. O Texstudio não foi mencionado na lista de serviços de localização, portanto, essa abordagem avançada era necessária.
Resumo:
- O culpado são os serviços de localização e a digitalização wifi
- Verifique os serviços de localização que você ativou
- Mantenha pressionada a tecla do teclado Option, clique no ícone WiFi na barra de ferramentas superior, clique em Ativar registro Wi-Fi
- Execute no terminal: ping 8.8.8.8 -i 0.1
- Execute no terminal: tail -f /var/log/wifi.log, em uma nova janela. Observe lado a lado, aguarde uma falha.
- Verifique o log quando a falha foi observada, mate o programa.