aparece el error "sin memoria" al intentar cargar sitios web específicos (no tengo memoria RAM)

15

ACTUALIZACIÓN: ¡ La solución de Rich (con la marca de verificación) resolvió mi problema! También publiqué una respuesta con una solución alternativa que puede ayudar si la solución de Rich no funciona para usted. La respuesta que recibió la recompensa fue la mejor en ese momento, pero no tiene una solución real (aunque ayudó con la solución de problemas).


Tengo un problema donde mi computadora (Macbook Pro, 8GB RAM, OS 10.8) no intentará cargar ciertos sitios web. Nada lo arregla excepto reiniciar. Esto ocurre cuando nada más está obviamente mal con mi computadora o conexión a Internet, y cuando otros sitios se cargan sin problemas.

Cuando esto ocurre, aquí están los errores que obtengo:

  • Cromo :Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari :"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox : no hay respuesta después de ingresar la URL y presionar Intro (sin mensaje de error, sin pulsación para indicar que se está cargando o tratando de contactar al sitio).
  • ping :

    PING google.com (74.125.224.135): 56 data bytes
    ping: sendto: Cannot allocate memory
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 0
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 1
    

(después de lo cual cancelé)

La primera vez que noté esto, ocurrió en uno o dos sitios que intenté visitar. Todavía podía usar Facebook y Google. Más adelante en el día, el error se extendió a Facebook y Google también. Después de reiniciar, esos sitios volvieron a ser accesibles, pero más tarde no pude acceder a otros sitios (stackexchange.com, surveygizmo.com).

Algunas otras notas:

  • Puedo confirmar que esto sucede en múltiples redes inalámbricas y VPN.
  • En el momento en que esto sucedía, tenía 2 GB de RAM "inactiva" y 500 MB "libres" de un total de 8 GB, por lo que no estoy realmente sin memoria. Otros sitios web y aplicaciones están respondiendo rápidamente y no hay signos de intercambio excesivo.
  • La respuesta de ping parece sugerir que el problema no afecta al DNS (aunque la dirección IP podría haberse almacenado en caché en alguna parte).

Solo he encontrado otra referencia a este problema, en este hilo de soporte de Apple . No se encontró ninguna solución, excepto para reiniciar.

NOTA: Esto no es un problema al quedarse sin RAM

El Monitor de actividad muestra mucha memoria libre / inactiva. No hay una cantidad excesiva de paginación. Otros sitios web se cargan sin problemas. Puede haber algún otro tipo de error de asignación de memoria, pero no puedo imaginar de ninguna manera que una escasez de RAM antigua deshabilite ciertos sitios web específicos, sin ningún otro impacto en el rendimiento.

octern
fuente
¿Me parece que se está quedando sin RAM en general? Eche un vistazo a dónde (qué procesos) va su memoria.
Gerry
Gracias, pero no creo que ese sea el problema. No hay signos de demoras o cambios cuando esto sucede; Simplemente me da el error al instante. Otros programas y pestañas del navegador continúan respondiendo sin demora. Además, 2.5G de RAM disponible es bastante (a menos que algo esté mal roto y no se pueda reasignar la memoria inactiva).
octern
Es muy probable que algo esté roto, pero no es un problema de navegación, sino que está más relacionado con la gestión de su memoria.
Gerry
Después de un descanso, el problema vuelve nuevamente. Esta vez me impedía acceder a cualquiera de mis archivos de trabajo, ¡así que realmente necesito una solución! Bounty agregado.
octern
2
Es poco probable que este problema esté relacionado con la memoria del sistema, sino con los búferes de red. Por favor muéstranos la salida de netstat -m. ¿Qué VPN (s) estás usando? ¿Ves el problema cuando no estás usando una VPN?
AndrewNimmo

Respuestas:

6

No pude recuperar mi red deshabilitando y volviendo a habilitar TCP / IP o Wi-Fi. Parece que, en mi caso, la computadora se había dormido con una conexión VPN de Juniper y cuando despertó, la conexión se había agotado y las rutas no se habían limpiado. Para mí, tenía dos computadoras, una que funcionaba y otra que no, y pude identificar el problema después de la ejecución netstat -rn.

En la computadora que no funcionaba, tenía un destino de 192.168.43.1 con una puerta de enlace del enlace n. ° 5. En la computadora que estaba funcionando, la puerta de enlace para ese destino era la dirección mac del enrutador inalámbrico, por lo que eliminé esa ruta con:

sudo route delete -host 192.168.43.1

Después de esto, podría hacer ping a mi enrutador inalámbrico y también volver a internet.

Algunas personas afirmaron que ir a Configuración → Red → Wi-Fi → Avanzado → Proxies y activar Auto Proxy Discovery les funcionó. No pude verificar esto ya que mi conexión se solucionó eliminando la ruta 'muerta'.

Rico
fuente
¡Esto funciona! Y a diferencia de mi solución, en realidad soluciona el problema subyacente y ayuda a explicar lo que está sucediendo. ¡Gracias!
octern
En retrospectiva, parece que el cliente de Juniper también fue la causa de mis problemas. Ahora puedo informar que este fenómeno no ha vuelto a ocurrir desde que mi organización dejó de usar Juniper y cambió a la interfaz VPN nativa de OS X.
octern 01 de
4

Este no es un problema relacionado con la RAM ni con el disco.

Este es un problema del núcleo debido a un mal comportamiento de una de sus interfaces de red. Aquí hay algunos comandos para comenzar a localizar el origen de este problema cuando ocurre:

  • netstat -mm proporcionará información detallada sobre el uso de su grupo de buffers;
  • netstat -I en0si su interfaz de red actual en uso es en0(Ethernet) le mostrará cualquier error real (Ierrs, Oerrs);
  • netstat -r le mostrará si sus rutas hacia el resto del mundo son correctas.

Este mal comportamiento puede ser la consecuencia de un ataque de red automático o dirigido. Si sospecha que puede estar enfrentando un caso así, aquí hay una manera de mirar la verdad a los ojos:

  • salir de cualquier aplicación de red ( Safari, Mail, ssh...) con el fin de limitar su propio ruido conocida (en su interfaz de red);
  • abra ay Terminalescriba: /usr/bin/sudo tcpdump -i en0(si su interfaz es en0== Ethernet);
    • si la salida de tcpdumppermanece en silencio, no se le ataca, simplemente salga de esta aplicación privilegiada escribiendo control-C
    • Si la salida de tcpdumpestá inundando, eres atacado. Si se encuentra en ese caso, publique un extracto de esta salida y de las 3 salidas de comandos anteriores.
dan
fuente
Todavía no he podido probar esto, pero lo intentaré cuando pueda. He otorgado la recompensa para evitar que expire. Gracias por tus sugerencias.
octern
Sus siguientes pruebas me interesan mucho, porque tuve el mismo tipo de problema difícil de reproducir ... ¡y tengo que matarlo!
dan
3

Esto debería ser bastante fácil de rastrear con la herramienta sysdiagnose.

Cuando obtiene un navegador enclavado y escupe errores, abra la terminal y agregue el nombre del navegador como argumento al script: (entonces, si Safari se bloquea)

 sysdiagnose Safari

Esta herramienta llamará a lo sudoque necesita que escriba su contraseña (no se mostrará en la pantalla, así que escríbala lentamente si es nuevo en sudo o es propenso a escribir mal su contraseña si no ve que se está escribiendo).

En este punto, obtendrá un enorme archivo tar.gz de diagnóstico del sistema almacenado en / private / var / tmp que puede copiar en su escritorio y analizar detenidamente. Será un poco como buscar una aguja en un pajar, pero puede estar seguro de que algún recurso se está llenando si un reinicio hace que las cosas funcionen hasta que cualquier error o recurso se active / use nuevamente.

bmike
fuente
¡Gracias por el consejo! Tuve que reiniciar para realizar un trabajo urgente, por lo que el problema no está activo en este momento. Me aseguraré de probar su sugerencia y enviarle una respuesta la próxima vez que aparezca.
octern
Suena bien: también puede enviar un informe de error a Apple si no puede diagnosticar el problema. Es probable que no respondan para ayudarlo a solucionar su problema, pero podrían solucionar el problema subyacente con los datos que envía sobre cómo se ve el sistema cuando logra romperlo nuevamente.
bmike
2

Mire su tabla de enrutamiento (ejecute netstat -rnen una Terminal). Este problema incluso persiste después de un reinicio.

He resuelto problemas similares que tuve al deshabilitar TCP / IP ( Preferencias del sistema »Red» Wi-Fi »Avanzado» TCP / IP ) y volver a habilitar TCP / IP para la interfaz Wifi / Ethernet.

VincentM
fuente
1

Es poco probable que este problema esté relacionado con la memoria del sistema, sino con los búferes de red. Por favor, muéstranos el resultado de netstat -m.

¿Qué software de VPN estás usando? ¿Ves el problema cuando no estás usando una VPN?

AndrewNimmo
fuente
0

Algunas sugerencias, aunque ya las haya probado:

  1. Limpia los cachés, en todas partes ... ejecuta Cocktail o MacPilot para destruirlos a todos.
  2. Borre la Internet Plug-inscarpeta en la Librarycarpeta principal . Todos los navegadores los usarán.
  3. También sugeriría crear una nueva cuenta de usuario nueva y probarla allí, solo para ver qué sucede.
Pixelwiz
fuente
0

Una vez, mi amigo se encontró con un problema similar con Google Chrome donde extraía RAM de esa manera. Puede ver qué programas están usando la cantidad de RAM cuando se produce este problema con el Monitor de actividad. Si hay una suboperación de Google Chrome, puede intentar reinstalarla.

cbbcbail
fuente
0

¡Después de una gran cantidad de experimentación a ciegas, he encontrado una solución! Si creo manualmente una entrada en la tabla de enrutamiento para el bloque de IP que no se carga, soluciona el problema.

Paso 1: encuentre la dirección IP del sitio que desea cargar.

Puede hacer esto usando ping, digo nslookup(vea esta pregunta para más detalles).

Paso 2: encuentre la dirección IP de su puerta de enlace

Puede encontrar esto desde el panel de control de la red, desde ifconfigo ejecutando netstat -rny anotando la dirección IP al lado de la entrada "predeterminada".

Paso 3: cree una entrada en la tabla de enrutamiento para la dirección IP o bloque afectado

Usa el comando sudo route add [affected IP address] [gateway IP address]

Si, como yo, tiene este problema con bloques de IP completos a la vez, puede ingresar el bloque / 8 completo. Por ejemplo, si la dirección del sitio al que desea llegar es 173.231.155.34, puede ingresarsudo route add 173.0.0.0/8 [gateway IP address]

Esta es una solución bastante mala. Debe volver a ingresarlos manualmente si cambia a una red con una dirección de puerta de enlace diferente o si reinicia. Y todavía no explica por qué esto estaba sucediendo en primer lugar. Pero sí me permite usar mi computadora, cuando anteriormente estaba totalmente manguera.

octern
fuente