Tôi đã có cùng một vấn đề, nó đã gây rắc rối cho tôi khá lâu. Điều này đặc biệt khó chịu khi làm việc từ xa qua SSH hoặc chơi các trò chơi nhiều người chơi. Đây là giải pháp lâu dài của tôi:
Chẩn đoán
Chạy ping với tần số 10 lần quét mỗi giây để xem khi nào sự cố xảy ra:
ping 8.8.8.8 -i 0.1
Dịch vụ quét và định vị
Như đã đề cập bởi những người khác, đột biến WiFi thường được gây ra bởi WiFi daemon quét một mạng WiFi khác xung quanh. Quá trình quét sẽ đi qua tất cả các kênh, vì vậy nếu kênh nhận hiện tại không giống với AP của bạn đang truyền, bạn có tốc độ ping.
Việc quét thường được kích hoạt bởi các dịch vụ định vị. Bạn có thể xem lại các dịch vụ định vị trong : System Preferences -> Security & Privacy -> Privacy tab -> Location Services
.
Nếu bạn đi để Advanced
kiểm tra Show location icon in the menu bar...
xem khi nào các ứng dụng đang truy vấn vị trí, do đó quét vùng lân cận WiFi.
Dịch vụ định vị vẫn hoạt động vì System services
. Chủ yếu Time Zone & System Customisation
và Significant Locations
. Nhưng sau khi tắt nó, tôi vẫn gặp sự cố WiFi mặc dù cửa sổ cài đặt Vị trí đó cho thấy không có ứng dụng nào khác có được vị trí này.
Tìm ra thủ phạm
Bạn cần kích hoạt ghi nhật ký WiFi để xem tại sao WiFi daemon thực hiện quét.
Giữ option/alt
phím (bên cạnh phím lệnh) và nhấp vào biểu tượng WiFi trên thanh công cụ trên cùng. Nhấn vào đây Enable Wi-Fi Logging
.
Sau đó, mở một thiết bị đầu cuối mới:
tail -f /var/log/wifi.log
Bạn sẽ thấy một cái gì đó như thế này:
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
Bây giờ hãy quan sát thiết bị đầu cuối ping và thiết bị đầu cuối đăng nhập wifi cạnh nhau. Bạn có thể thấy rõ sự cố xảy ra chính xác khi WiFi đang thực hiện quét.
Trong trường hợp của tôi, thủ phạm là một chương trình texstudio
, như bạn có thể thấy từ nhật ký. Nó đã có được vị trí cứ sau 5 giây (wt.?), Điều này cũng được xác nhận bởi anh chàng này: https://justus.berlin/2016/04/reducing-cpu-load-and-energy-conscharge-of-texstudio- trên mac /
Điều này đã giải quyết vấn đề của tôi. Texstudio không được đề cập trong danh sách dịch vụ định vị nên cách tiếp cận nâng cao này là cần thiết.
Tóm lược:
- Thủ phạm là dịch vụ định vị và quét wifi
- Kiểm tra dịch vụ định vị bạn đã bật
- Giữ phím bàn phím Tùy chọn, nhấp vào biểu tượng WiFi trên thanh công cụ trên cùng, nhấp vào Bật nhật ký Wi-Fi
- Thực thi trong thiết bị đầu cuối: ping 8.8.8.8 -i 0.1
- Thực thi trong thiết bị đầu cuối: tail -f /var/log/wifi.log, trong một cửa sổ mới. Quan sát cạnh nhau, chờ đợi sự cố.
- Kiểm tra nhật ký khi trục trặc được quan sát, giết chương trình.