Ho avuto esattamente lo stesso problema, mi preoccupava da molto tempo. È particolarmente fastidioso quando si lavora in remoto su SSH o si gioca a giochi multiplayer. Ecco la mia soluzione a lungo termine:
Diagnosi
Esegui il ping con frequenza 10 scansioni al secondo per vedere quando si verifica il problema tecnico:
ping 8.8.8.8 -i 0.1
Servizi di scansione e posizione
Come menzionato da altri, i picchi WiFi sono in genere causati dal demone WiFi che esegue la scansione di altre reti WiFi in giro. La scansione passa attraverso tutti i canali, quindi se l'attuale canale di ricezione non è lo stesso del tuo AP in trasmissione, hai un picco di ping.
La scansione è generalmente attivata dai servizi di localizzazione. È possibile rivedere i servizi di localizzazione in: System Preferences -> Security & Privacy -> Privacy tab -> Location Services
.
Se vai a Advanced
controllare Show location icon in the menu bar...
per vedere quando le app stanno interrogando la posizione, scansionando quindi il quartiere WiFi.
I servizi di localizzazione erano ancora attivi a causa di System services
. Principalmente Time Zone & System Customisation
e Significant Locations
. Ma dopo averlo spento avevo ancora un problema tecnico WiFi nonostante quella finestra di impostazione della posizione non mostrava altre applicazioni che acquisivano la posizione.
Trovare il colpevole
È necessario abilitare la registrazione WiFi per vedere perché il daemon WiFi sta eseguendo la scansione.
Tieni premuto il option/alt
tasto (accanto al tasto comando) e fai clic sull'icona WiFi nella barra degli strumenti in alto. Fare clic Enable Wi-Fi Logging
.
Dopodiché apri un nuovo terminale:
tail -f /var/log/wifi.log
Dovresti vedere qualcosa del genere:
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
Ora osserva il terminale ping e il terminale di registro wifi uno accanto all'altro. Puoi vedere chiaramente che il glitch si verifica esattamente quando il WiFi sta eseguendo la scansione.
Nel mio caso il colpevole era un programma texstudio
, come puoi vedere dal registro. Stava acquisendo la posizione ogni 5 secondi (wt.?), Che è stato confermato anche da questo ragazzo: https://justus.berlin/2016/04/reducing-cpu-load-and-energy-consumption-of-texstudio- on-the-mac /
Questo ha risolto il mio problema. Texstudio non è stato menzionato nell'elenco dei servizi di localizzazione, quindi era necessario questo approccio avanzato.
Sommario:
- Il colpevole sono i servizi di localizzazione e la scansione wifi
- Controlla i servizi di localizzazione che hai attivato
- Tieni premuto il tasto Opzione, fai clic sull'icona WiFi nella barra degli strumenti in alto, fai clic su Abilita registrazione Wi-Fi
- Eseguire nel terminale: ping 8.8.8.8 -i 0.1
- Eseguire nel terminale: tail -f /var/log/wifi.log, in una nuova finestra. Osservare fianco a fianco, attendere glitch.
- Controlla il registro quando è stato osservato il problema tecnico, uccidi il programma.