Hacer ping en Mavericks en MacBook Pro de finales de 2013 es lento y variable en comparación con Windows

Tuve un par de problemas para conectarme a un recurso compartido SMB anoche, así que comencé a usar ping para probar la conectividad.

En ese momento noté que el ping era muy lento y variable: mi computadora portátil con Windows muestra <1 ms para todos los pings al enrutador.

Un ejemplo:

64 bytes from 192.168.1.1: icmp_seq=335 ttl=64 time=208.350 ms
64 bytes from 192.168.1.1: icmp_seq=336 ttl=64 time=129.768 ms
64 bytes from 192.168.1.1: icmp_seq=337 ttl=64 time=51.067 ms
64 bytes from 192.168.1.1: icmp_seq=338 ttl=64 time=278.491 ms
64 bytes from 192.168.1.1: icmp_seq=339 ttl=64 time=1.315 ms
64 bytes from 192.168.1.1: icmp_seq=340 ttl=64 time=120.040 ms
64 bytes from 192.168.1.1: icmp_seq=341 ttl=64 time=40.420 ms
64 bytes from 192.168.1.1: icmp_seq=342 ttl=64 time=267.817 ms
64 bytes from 192.168.1.1: icmp_seq=343 ttl=64 time=188.607 ms
64 bytes from 192.168.1.1: icmp_seq=344 ttl=64 time=109.445 ms
64 bytes from 192.168.1.1: icmp_seq=345 ttl=64 time=1.313 ms
64 bytes from 192.168.1.1: icmp_seq=346 ttl=64 time=1.905 ms
64 bytes from 192.168.1.1: icmp_seq=347 ttl=64 time=3.662 ms
64 bytes from 192.168.1.1: icmp_seq=348 ttl=64 time=100.708 ms
64 bytes from 192.168.1.1: icmp_seq=349 ttl=64 time=21.266 ms
64 bytes from 192.168.1.1: icmp_seq=350 ttl=64 time=1.674 ms
64 bytes from 192.168.1.1: icmp_seq=351 ttl=64 time=1.397 ms
64 bytes from 192.168.1.1: icmp_seq=352 ttl=64 time=89.599 ms
64 bytes from 192.168.1.1: icmp_seq=353 ttl=64 time=10.996 ms
64 bytes from 192.168.1.1: icmp_seq=354 ttl=64 time=341.583 ms
64 bytes from 192.168.1.1: icmp_seq=355 ttl=64 time=159.329 ms
64 bytes from 192.168.1.1: icmp_seq=356 ttl=64 time=81.145 ms
64 bytes from 192.168.1.1: icmp_seq=357 ttl=64 time=1.945 ms

No he visto ningún otro síntoma: las velocidades de red y cosas como la prueba de ping están bien. Sin embargo, veo un comportamiento similar cuando hago ping a sitios externos, mucho más lento y variable.

Intenté enchufarlo a la corriente (posiblemente el ahorro de energía podría causar esto) y también reiniciar.

Busqué antes de publicar y no encontré otras preguntas, pero ahora una de las preguntas relacionadas es útil: cambiar el intervalo a 200 ms hace que los pings sean rápidos y consistentes.

Pero, ¿por qué cambiar el intervalo de ping a 200ms en lugar de 1s cambiaría la latencia?

Gracias por la edición. ¿Cómo convertiste una imagen en texto tan fácilmente?
Puedo escribir bastante rápido ;)

Respuestas (5)

El ping de Mavericks está muy roto. La razón de esto es que Mavericks pone la tarjeta de red en un modo de ahorro de energía en milisegundos cuando no hay tráfico que considere vital, y aparentemente no considera que los pings sean tráfico valioso, por lo tanto, la tarjeta de red (o, más bien, la tarjeta wifi) va a "dormir" inmediatamente, y le lleva tiempo hacerlo, por lo tanto, provoca resultados de ping completamente aleatorios.

Envié un informe de error a Apple en las primeras etapas beta de los Mavericks, pero se negaron a abordar el problema, alegando que "no se solucionará".

Entonces, los resultados que está viendo no son representativos de la conexión de red real.

Por favor, publique su error en openradar.me y con gusto lo engañaré.
En realidad, el problema no es solo con la pingutilidad. Afecta cualquier tráfico que no sea un flujo constante, como los juegos en línea. La transmisión de una película debería funcionar bien, pero League of Legends no se puede reproducir. El tráfico no se prioriza de ninguna manera en Mavericks, por lo que este problema ocurre ya sea que el tráfico sea "importante" o no.

Intente ejecutar el siguiente comando si necesita baja latencia para algo como los juegos en línea. Hace ping continuamente a su enrutador cada 200 ms para evitar que el nuevo chip 802.11ac Broadcom en las Mac Haswell 2013 entre en modo de suspensión.

ping -i 0.2 `netstat -nr | grep -m 1 '^default' | awk '{print $2;}'`

Con suerte, Apple proporcionará una solución adecuada para esto en la próxima actualización de Mac OS 10.9.2. Realmente la cagaron en esto.

Completamente de acuerdo: a falta de la ping -i 0.2solución alternativa, sshtampoco se puede utilizar por completo a través de WiFi en OS X 10.9. Aparentemente, esto ha estado afectando a varios hardware y OS X durante mucho tiempo: apple.stackexchange.com/a/13216/37893 .

semanas tratando de clasificar los resultados de ping aleatorios de mi Mac y era la configuración de ahorro de energía; encontré esta publicación por accidente y está en el lugar; desactivé la suspensión de la red (Preferencias del sistema -> Ahorro de energía -> Despertar para acceder a la red) y ping es inmediatamente consistente, como lo es todo el tráfico de red intermitente.

Para aquellos que encontraron un ping alto extraño en comparación con otros sistemas operativos en el mismo entorno (Win/Linux). Nada ha cambiado en Monterey (12.0.1) . Todo se trata de la administración de energía de la tarjeta de red. Puede realizar una prueba muy simple:

  • Ejecute ping a su puerta de enlace (por ejemplo, enrutador local, por ejemplo 192.168.1.1)
  • Ejecute speedtest o cualquier otra aplicación/sitio web intensivo en red

El ping es bueno y es el mismo que en las máquinas Win/Linux durante una comunicación de red intensiva. Tan pronto como cae el rendimiento de la red, el ping despega a 3/4 veces.

Esto es lo mismo que sugiere @fletom @dniq. Estado recién actualizado 2021/2022 .

He creado una aplicación llamada PingFixer para solucionar este problema. Puedes descargarlo aquí: https://gum.co/PingFixer

Kevin

$ 9.99 por una utilidad que es básicamente ping? Eso es malvado. ¡Todos, pueden correr ping -i 0.2 `netstat -nr | grep -m 1 '^default' | awk '{print $2;}'`gratis!
Estoy de acuerdo. Entiendo por qué se necesitaría una aplicación, pero es muy costosa.
Agradezco el enlace a su aplicación. ¿Puedes editar esto para explicar cómo resuelve el problema en cuestión?