error de "memoria insuficiente" al intentar cargar sitios web específicos (no estoy sin RAM)

14

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 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 resolución de problemas).

Tengo un problema donde mi computadora (Macbook Pro, 8GB RAM, OS 10.8) no intenta cargar ciertos sitios web. Nada lo arregla excepto para reiniciar. Esto ocurre cuando, obviamente, nada más está 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 recibo:

  • Chrome : 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 regresar (no hay mensaje de error, no hay ningún indicador para indicar que se está cargando o intentando contactar con el 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 pude usar facebook y google. Más tarde 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 varias redes inalámbricas y VPN.
  • En el momento en que sucedió esto, tenía 2 GB de RAM "inactivo" y 500 MB "libres" de un total de 8 GB, así que no me quedé 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 algún lugar).

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

NOTA: Este 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 en curso. Otros sitios web cargan sin problemas. Puede haber algún otro tipo de error de asignación de memoria, pero no puedo imaginar que una simple falta de memoria RAM deshabilitaría ciertos sitios web específicos, sin ningún otro impacto en el rendimiento.

    
pregunta octern 30.11.2012 - 04:18

8 respuestas

6

No pude recuperar mi red al deshabilitar y volver a habilitar TCP / IP o el Wi-Fi. Parece que, en mi caso, la computadora se había ido a dormir con una conexión VPN de Juniper y cuando se reactivó, la conexión se había agotado y las rutas no se habían limpiado. Para mí, tenía dos computadoras, una funcionando y otra no, y así pude identificar el problema después de ejecutar netstat -rn .

En la computadora que no funcionaba, tenía un destino de 192.168.43.1 con una puerta de enlace del enlace # 5. En la computadora que estaba funcionando, la puerta de enlace para ese destino era la dirección mac del enrutador inalámbrico, así 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 funcionó para ellos. No pude verificar esto porque mi conexión se reparó al eliminar la ruta "muerta".

    
respondido por el Rich 16.11.2013 - 22:50
4

Esto no es una RAM ni un problema relacionado con el disco.

Este es un problema del kernel 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 ocurra:

  • %código% proporcionará información detallada sobre el uso de su grupo de buffers;
  • netstat -mm si su interfaz de red real en uso es netstat -I en0 (Ethernet) le mostrará cualquier error real (Ierrs, Oerrs);
  • en0 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 sospechas que puedes enfrentar un caso así, aquí hay una manera de ver la verdad directamente a los ojos:

  • deje cualquier aplicación de red ( netstat -r , Safari , Mail ...) para limitar su propio ruido conocido (en su interfaz de red);
  • abra un ssh y escriba: Terminal (si su interfaz es /usr/bin/sudo tcpdump -i en0 == Ethernet);
    • si la salida de en0 permanece en silencio, no es atacado, simplemente salga de esta aplicación privilegiada escribiendo control-C
    • si la salida de tcpdump está inundando, eres atacado. Si se encuentra en tal caso, publique un extracto de esta salida y de las 3 salidas de comandos anteriores.
respondido por el daniel Azuelos 08.01.2013 - 23:16
3

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

Cuando obtienes un error en el navegador y escupe, abre el terminal y agrega el nombre del navegador como un argumento al script: (por lo que si Safari se bloquea)

 sysdiagnose Safari

Esta herramienta llamará a sudo , lo que requiere que escriba su contraseña (no se mostrará en la pantalla, así que escríbala lentamente si es nuevo en sudo o propenso a escribir incorrectamente su contraseña si no lo hace ver que se escribe).

En este punto, obtendrá un enorme archivo de diagnóstico del sistema tar.gz almacenado en / private / var / tmp que puede copiar en su escritorio y analizar. 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.

    
respondido por el bmike 02.01.2013 - 19:50
2

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

Resolví problemas similares que he tenido al deshabilitar TCP / IP ( Preferencias del sistema »Red» Wi-Fi »Avanzada» TCP / IP ) y volver a habilitar TCP / IP para Wifi / Interfaz Ethernet.

    
respondido por el VincentM 22.03.2013 - 15:46
1

Es poco probable que este problema esté relacionado con la memoria del sistema, sino con los buffers de red. Por favor, muéstrenos la salida de netstat -m.

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

    
respondido por el AndrewNimmo 09.01.2013 - 20:14
0

Algunas sugerencias, aunque es posible que ya las hayas probado:

  1. Borre los cachés, en todas partes ... ejecute Cocktail o MacPilot para destruirlos a todos.
  2. Borre la carpeta Internet Plug-ins en la carpeta principal Library . Cada navegador los utilizará.
  3. También sugeriría crear una nueva cuenta de usuario nueva y probarla allí, solo para ver qué sucede.
respondido por el Pixelwiz 03.01.2013 - 17:55
0

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

    
respondido por el cbbcbail 03.01.2013 - 23:12
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 bloqueo de IP que no se carga, soluciona el problema.

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

Puede hacer esto usando ping , dig o nslookup (consulte esta pregunta para más detalles).

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

Puede encontrar esto en el panel de control de la red, en ifconfig , o ejecutando netstat -rn y anotando la dirección IP junto a la entrada "predeterminado".

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

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

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

Esta es una solución bastante mala. Debe volver a introducirlos todos 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é sucedió esto en primer lugar. Pero sí me permite usar mi computadora, cuando antes estaba totalmente limpia.

    
respondido por el octern 05.12.2013 - 00:47

Lea otras preguntas en las etiquetas