ฉันมีปัญหาเดียวกันอย่างแน่นอนมันทำให้ฉันหนักใจเป็นเวลานาน มันน่ารำคาญเป็นพิเศษเมื่อทำงานกับ SSH จากระยะไกลหรือเล่นเกมแบบผู้เล่นหลายคน นี่คือทางออกระยะยาวของฉัน:
การวินิจฉัยโรค
เรียกใช้ ping ด้วยการสแกนความถี่ 10 ครั้งต่อวินาทีเพื่อดูว่าเกิดข้อผิดพลาดเมื่อใด:
ping 8.8.8.8 -i 0.1
บริการสแกนและระบุตำแหน่ง
ตามที่คนอื่น ๆ กล่าวถึงสไปค์ WiFi มักจะเกิดจาก WiFi daemon สแกนเครือข่าย WiFi อื่น ๆ การสแกนผ่านทุกช่องทางดังนั้นหากช่องรับสัญญาณปัจจุบันไม่เหมือนกับ AP ของคุณกำลังส่งสัญญาณคุณจะมี ping spike
การสแกนมักจะถูกเรียกใช้โดยบริการระบุตำแหน่ง 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 daemon จึงทำการสแกน
กด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 log terminal ติดกัน คุณสามารถเห็นความผิดพลาดได้อย่างชัดเจนเมื่อ WiFi ทำการสแกน
ในกรณีของฉันผู้กระทำผิดเป็นโปรแกรมtexstudio
ตามที่คุณเห็นจากบันทึก (. WT) มันถูกแสวงหาสถานที่ทุกๆ 5 วินาทีซึ่งได้รับการยืนยันโดยผู้ชายคนนี้: https://justus.berlin/2016/04/reducing-cpu-load-and-energy-consumption-of-texstudio- on-the-Mac /
นี่เป็นการแก้ไขปัญหาของฉัน Texstudio ไม่ได้ถูกกล่าวถึงในรายการบริการสถานที่ดังนั้นวิธีการขั้นสูงนี้จึงจำเป็น
สรุป:
- ผู้ร้ายคือบริการระบุตำแหน่งและสแกน wifi
- ตรวจสอบบริการระบุตำแหน่งที่คุณเปิดใช้งาน
- กดแป้นตัวเลือกค้างไว้คลิกไอคอน WiFi ในแถบเครื่องมือด้านบนคลิกเปิดใช้งานการบันทึก Wi-Fi
- ดำเนินการในเทอร์มินัล: ping 8.8.8.8 -i 0.1
- ดำเนินการในเทอร์มินัล: tail -f /var/log/wifi.log ในหน้าต่างใหม่ สังเกตเคียงข้างกันรอความผิดพลาด
- ตรวจสอบบันทึกเมื่อพบข้อผิดพลาดฆ่าโปรแกรม