MacBook Pro遇到本地路由器的ping峰值


25

我的AirPort Extreme(本地IP:192.168.1.1)遇到了严重的ping峰值,但是我没有在它旁边的另一台MacBook Pro上遇到这些ping峰值。

这是我的ping结果。

PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=24.703 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=145.378 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=975.540 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=577.900 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=2.802 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=5.377 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=5.922 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=3.854 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=3.522 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=4.593 ms

--- 192.168.1.1 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.802/174.959/975.540/316.450 ms

MacBook Pro(Retina,13英寸,2015年初)


您是否已从APEx 断开了所有 wi-fi或硬连线设备(其他计算机,包括iDevice,AppleTV,家庭自动化设备等)的连接,但发送ping的设备除外?从这些简短的消息中,我可以假定APEx由于某种原因正在连接到外部网络。让它至少运行100次(或更多)迭代,然后查看是否存在某种模式,该模式将指示APEx上的某个进程定期“打电话回家”。回报与您所看到的。请不要粘贴巨大的ping清单。:-)
IconDaemon

恕我直言,我发现ping列表很有用
Brian Low

Answers:


22

我在几个线程上发布了此回复,以便于查找。我追逐了同样的问题,终于找到了原因。

定位。打开控制台应用程序,并在连续ping时观看。每次看到延迟高峰时,都会看到定位的条目。转到系统偏好->安全和隐私->位置服务器。从那里,您可以禁用它,并且您很可能会看到问题消失。但是,您将失去“查找我的mac”功能。

使我接受的是[...]时进入菜单栏中的系统服务(向下滚动)->详细信息->检查显示图标。然后,查看请求的位置。禁止Evernote很有帮助。我修剪到最低限度,尖峰的频率已降至我可以接受的水平。

编辑:向Apple提交了一个错误,因为即使禁用了位置服务,位置扫描(在控制台中已验证)也会影响延迟。苹果将​​其标记为欺骗,因此希望很快会修复。


5
可以确认我也看到了这些延迟峰值,这些延迟峰值直接对应locationd于控制台中的条目,并且禁用位置服务可以消除峰值。实用提示:ping中有一个选项,其中包括一个时间戳,可以轻松地对日志进行ping -i 0.25 192.168.1.1 --apple-time
外部

1
OP:这应该是@ C-regan所接受的答案!我一直在尝试一切,这是规则。如果延迟峰值仅发生在macosx上,并且您尝试了至少2个不同的AP,则很可能是问题的答案!
卡·吉贝利

在我的情况下,@ user163253通过仅禁用某些位置服务来解决该问题,尤其是:天气,地图,基于位置的建议,设置时区,重要位置。我仍然可以使用以下服务:日历,提醒,查找我的mac,Wifi网络。我想后者的使用频率不如前者,因此它们对延迟的影响最小。我也注意到,如何减少网络- > WiFi->高级减轻知/保存的Wi-Fi网络的数量的问题..
卢卡Gibelli

老兄,你是救命稻草!
卡拉斯·伊斯特万

1
我将其范围进一步缩小到“系统服务”内的“时区和系统自定义”复选框。我认为这是在尝试快速从接入点断开连接并扫描Wifi接入点以获取当前时间,时区和位置。
布兰登

17

我遇到了完全相同的问题,这让我困扰了很长时间。通过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 CustomisationSignificant Locations。但是关闭该功能后,尽管“位置设置”窗口显示没有其他应用程序获取该位置,但我仍然遇到WiFi故障。

寻找罪魁祸首

您需要启用WiFi日志记录,才能查看WiFi守护程序为何进行扫描。

按住option/alt键(在命令键旁边),然后单击顶部工具栏中的WiFi图标。点击Enable Wi-Fi Logging

启用Wi-Fi记录

之后,打开一个新终端:

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中执行。并排观察,等待故障。
  • 观察到故障时检查日志,终止程序。

2
启用wifi日志记录的技巧是我追踪源的关键
Jehiah

感谢您提供额外的详细信息
约翰逊先生

我找到SystemUIServer和Joxi(用于屏幕截图的应用程序)。谢谢
ГлебБеляев

美丽。这就是我发现Mega引起我的问​​题的方式。
Birowsky


2

根据我的经验,在所有情况的90%中,重新启动路由器将解决此问题。


2

遵循本指南对我有用:

修复MacOs Sierra上的Wi-Fi问题

基本上在文件夹中/Library/Preferences/SystemConfiguration/ 备份和删除文件

com.apple.airport.preferences.plist
com.apple.network.eapolclient.configuration.plist
com.apple.wifi.message-tracer.plist
NetworkInterfaces.plist
preferences.plist

然后重新启动Mac。


有趣-我已经看到缓冲来了-您是否认为WiFi正在漫游以检查其他基站并清除这些首选项/记录,从而使WiFi连接更稳定?
bmike

ping 其他节点该怎么办?说网络上的其他MacBook之一?问题仍然存在吗?
艾伦

1

就我而言,这是一个用于截屏的应用程序。我通过执行以下操作检测到它:我运行ping命令并逐个关闭应用程序,然后在关闭该应用程序后发现ping尖峰消失了。


0

我已经追踪到与Airplay / Bonjour类似的问题,在使用或检查airplay时会发出尖峰声。

我相信此行为实际上与链接到设备中的无线适配器的设备的蓝牙有关。

我将很快进行更多测试,并提交一个苹果bug报告。

如果您禁用了蓝牙功能,则可能会发现没有ping峰值。


-1

问题仍然出现在莫哈韦沙漠上,所以让我把两美分放在这里。问题的根源已定位,要解决故障,我所要做的就是去设置->安全和隐私->定位服务->(系统服务)详细信息->取消选中“时区和系统自定义”

不知道Mac为什么每隔几分钟就会检查时区...


这恰恰是最受好评的答案,并没有添加任何新内容。
Tetsujin,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.