我遇到了完全相同的问题,这让我困扰了很长时间。通过SSH远程工作或玩多人游戏时,这尤其令人讨厌。这是我的长期解决方案:
诊断
以每秒10次扫描的频率运行ping,以查看何时发生毛刺:
ping 8.8.8.8 -i 0.1
扫描和定位服务
正如其他人提到的,WiFi峰值通常是由WiFi守护进程扫描周围的另一个WiFi网络引起的。扫描会遍历所有通道,因此,如果当前接收通道与AP传输的通道不同,则可能会出现ping尖峰。
扫描通常由定位服务触发。您可以在以下位置查看位置服务:System Preferences -> Security & Privacy -> Privacy tab -> Location Services
。
如果您去Advanced
检查Show location icon in the menu bar...
以查看应用程序何时查询位置,从而扫描WiFi邻居。
由于,定位服务仍处于活跃状态System services
。主要Time Zone & System Customisation
和Significant Locations
。但是关闭该功能后,尽管“位置设置”窗口显示没有其他应用程序获取该位置,但我仍然遇到WiFi故障。
寻找罪魁祸首
您需要启用WiFi日志记录,才能查看WiFi守护程序为何进行扫描。
按住option/alt
键(在命令键旁边),然后单击顶部工具栏中的WiFi图标。点击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-在Mac上/
这解决了我的问题。定位服务列表中未提及Texstudio,因此此高级方法是必需的。
摘要:
- 罪魁祸首是定位服务和wifi扫描
- 检查您已启用的位置服务
- 按住Option键盘键,单击顶部工具栏中的WiFi图标,然后单击“启用Wi-Fi日志记录”
- 在终端中执行:ping 8.8.8.8 -i 0.1
- 在新窗口中的终端:tail -f /var/log/wifi.log中执行。并排观察,等待故障。
- 观察到故障时检查日志,终止程序。