私はまったく同じ問題を抱えていました、それは私をかなり長い間悩ませていました。SSHを介してリモートで作業する場合、またはマルチプレイヤーゲームをプレイする場合、特に面倒です。私の長期的な解決策は次のとおりです。
診断
1秒あたり10回のスキャンでpingを実行し、グリッチが発生するタイミングを確認します。
ping 8.8.8.8 -i 0.1
スキャンと位置情報サービス
他の人が述べたように、WiFiスパイクは通常、WiFiデーモンが別のWiFiネットワークをスキャンすることによって引き起こされます。スキャンはすべてのチャネルを通過するため、現在の受信チャネルがAPの送信チャネルと異なる場合、pingスパイクが発生します。
通常、スキャンは位置情報サービスによってトリガーされます。位置情報サービスは次の場所で確認できますSystem Preferences -> Security & Privacy -> Privacy tab -> Location Services
。
アプリが位置情報を照会してWiFi近隣をスキャンするタイミングをAdvanced
確認するShow location icon in the menu bar...
ために行く場合。
のため、位置情報サービスは引き続きアクティブでしたSystem services
。主にTime Zone & System Customisation
とSignificant Locations
。しかし、それをオフにした後も、ロケーション設定ウィンドウに他のアプリケーションがロケーションを取得していないにもかかわらず、WiFiグリッチが発生していました。
犯人を見つける
WiFiデーモンがスキャンを実行している理由を確認するには、WiFiロギングを有効にする必要があります。
ホールドoption/alt
(コマンドキーの隣)、キートップのツールバーにある無線LANのアイコンをクリックしてください。をクリックしEnable Wi-Fi Logging
ます。
その後、新しいターミナルを開きます。
tail -f /var/log/wifi.log
次のようなものが表示されるはずです。
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
次に、pingターミナルとwifiログターミナルが隣り合っていることを確認します。WiFiがスキャンを実行しているときに、グリッチの発生を正確に確認できます。
私の場合texstudio
、ログからわかるように、犯人はプログラムでした。それは5秒ごとに位置を取得していました(wt。?)、これはこの男によっても確認されました:https : //justus.berlin/2016/04/reducing-cpu-load-and-energy-consumption-of-texstudio- on-the-mac /
これで私の問題が解決しました。Texstudioはロケーションサービスリストに記載されていないため、この高度なアプローチが必要でした。
概要:
- 犯人は位置情報サービスと無線LANスキャンです
- 有効にした位置情報サービスを確認してください
- Optionキーボードキーを押しながら、上部ツールバーのWiFiアイコンをクリックし、Wi-Fiロギングを有効にするをクリックします
- ターミナルで実行:ping 8.8.8.8 -i 0.1
- ターミナルで実行:tail -f /var/log/wifi.log、新しいウィンドウで。並んで観察し、グリッチを待ちます。
- グリッチが観察されたときにログを確認し、プログラムを強制終了します。