erreur «mémoire insuffisante» lors de la tentative de chargement de sites Web spécifiques (je ne manque pas de mémoire RAM)

15

MISE À JOUR: La solution de Rich (avec la coche) a résolu mon problème! J'ai également publié une réponse avec une solution de contournement qui peut être utile si la solution de Rich ne fonctionne pas pour vous. La réponse qui a reçu la prime était la meilleure à l'époque, mais elle n'a pas de solution réelle (bien qu'elle ait aidé au dépannage).


J'ai un problème où mon ordinateur (Macbook Pro, 8 Go de RAM, OS 10.8) ne tentera pas de charger certains sites Web. Rien ne le résout, sauf pour le redémarrage. Cela se produit lorsque rien d'autre n'est manifestement mal avec mon ordinateur ou ma connexion Internet, et lorsque d'autres sites se chargent sans problème.

Lorsque cela se produit, voici les erreurs que j'obtiens:

  • Chrome :Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari :"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox : Aucune réponse après avoir entré l'URL et appuyé sur retour (pas de message d'erreur, pas de throbber pour indiquer qu'il se charge ou tente de contacter le site).
  • 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
    

(après quoi j'ai annulé)

La première fois que j'ai remarqué cela, cela s'est produit pour un ou deux sites que j'ai essayé de visiter. J'étais toujours en mesure d'utiliser Facebook et Google. Plus tard dans la journée, l'erreur s'est également étendue à Facebook et Google. Après le redémarrage, ces sites sont redevenus accessibles, mais plus tard, je suis devenu incapable d'accéder à d'autres sites (stackexchange.com, surveygizmo.com).

Quelques autres notes:

  • Je peux confirmer que cela se produit sur plusieurs réseaux sans fil et VPN.
  • Au moment où cela se produisait, j'avais 2 Go de RAM "inactive" et 500 Mo "gratuits" sur un total de 8 Go, donc je ne suis pas vraiment à court de mémoire. D'autres sites Web et applications répondent rapidement et il n'y a aucun signe d'échange excessif.
  • La réponse de ping semble suggérer que le problème n'affecte pas DNS (bien que l'adresse IP ait pu être mise en cache quelque part).

Je n'ai trouvé qu'une autre référence à ce problème, dans ce fil de support Apple . Aucune solution n'a été trouvée à l'exception du redémarrage.

REMARQUE: ce n'est pas un problème avec le manque de RAM

Le moniteur d'activité affiche une grande quantité de mémoire libre / inactive. Il n'y a pas trop de pagination en cours. D'autres sites Web se chargent sans problème. Il peut y avoir un autre type d'erreur d'allocation de mémoire en cours, mais je ne peux imaginer en aucune façon qu'une simple pénurie de RAM désactive certains sites Web spécifiques, sans autre impact sur les performances.

octern
la source
Il me semble que vous manquez de RAM en général? Regardez où va (quel processus) va votre mémoire.
Gerry
Merci, mais je ne pense pas que ce soit le problème. Il n'y a aucun signe de retard ou d'échange lorsque cela se produit; cela me donne instantanément l'erreur. D'autres programmes et onglets de navigateur continuent de répondre sans délai. En outre, 2,5 G de RAM disponible sont plutôt importants (sauf si quelque chose est mal cassé et qu'il ne parvient pas à réaffecter la mémoire inactive).
octern
Il est fort possible que quelque chose soit cassé, mais ce n'est pas un problème de navigation, mais plus généralement lié à la gestion de votre mémoire.
Gerry
Après une pause, le problème revient. Cette fois, cela m'empêchait d'accéder à l'un de mes fichiers de travail, j'ai donc vraiment besoin d'un correctif! Bounty ajouté.
octern
2
Il est peu probable que ce problème soit lié à la mémoire système, mais plutôt aux tampons réseau. Veuillez nous montrer la sortie de netstat -m. Quel (s) VPN utilisez-vous? Voyez-vous le problème lorsque vous n'utilisez pas de VPN?
AndrewNimmo

Réponses:

6

Je n'ai pas pu récupérer mon réseau en désactivant et réactivant TCP / IP ou le Wi-Fi. Il semble que dans mon cas, l'ordinateur s'était endormi avec une connexion VPN Juniper et quand il s'est réveillé, la connexion a expiré et les routes n'ont pas été nettoyées. Pour moi, j'avais deux ordinateurs, l'un fonctionnant et l'autre pas, et j'ai donc pu identifier le problème après l'exécution netstat -rn.

Sur l'ordinateur qui ne fonctionnait pas, j'avais une destination de 192.168.43.1 avec une passerelle de lien # 5. Sur l'ordinateur qui fonctionnait, la passerelle pour cette destination était l'adresse mac du routeur sans fil, j'ai donc supprimé cette route avec:

sudo route delete -host 192.168.43.1

Après cela, je pouvais cingler mon routeur sans fil et revenir à Internet.

Certaines personnes ont affirmé que l'accès à Paramètres → Réseau → Wi-Fi → Avancé → Proxys et l'activation de la détection automatique de proxy fonctionnaient pour eux. Je n'ai pas pu vérifier cela car ma connexion a été corrigée en supprimant l'itinéraire «mort».

Riches
la source
Cela marche! Et contrairement à ma solution, elle résout le problème sous-jacent et aide à expliquer ce qui se passe. Je vous remercie!
octern
Rétrospectivement, il semble que le client Juniper soit également à l'origine de mes problèmes. Je peux maintenant signaler que ce phénomène ne s'est pas reproduit depuis que mon organisation a cessé d'utiliser Juniper et est passée à l'interface VPN native OS X.
octern
4

Ce n'est ni un problème lié à la RAM ni au disque.

Il s'agit d'un problème de noyau dû à un mauvais comportement de l'une de vos interfaces réseau. Voici quelques commandes pour commencer à localiser l'origine de ce problème lorsqu'il se produit:

  • netstat -mm fournira des informations détaillées sur l'utilisation de votre pool de tampons;
  • netstat -I en0si votre interface réseau réelle en cours d'utilisation est en0(Ethernet) vous montrera toute erreur réelle (Ierrs, Oerrs);
  • netstat -r vous montrera si vos itinéraires vers le reste du monde sont corrects.

Cette mauvaise conduite peut être la conséquence d'une attaque réseau automatique ou ciblée. Si vous pensez que vous pourriez être confronté à un tel cas, voici une façon de regarder la vérité dans les yeux:

  • laisser toute application de réseau ( Safari, Mail, ssh...) de manière à limiter votre propre bruit connu (sur votre interface réseau);
  • ouvrez un Terminalet tapez: /usr/bin/sudo tcpdump -i en0(si votre interface est en0== Ethernet);
    • si la sortie de tcpdumpreste silencieuse, vous n'êtes pas attaqué, quittez simplement cette application privilégiée en tapant control-C
    • si la sortie de tcpdumpinonde, vous êtes attaqué. Si vous êtes dans un tel cas, veuillez poster un extrait de cette sortie et des 3 sorties de commandes ci-dessus.
dan
la source
Je n'ai toujours pas pu tester cela, mais je vais essayer quand je le pourrai. J'ai accordé la prime pour l'empêcher d'expiration. Merci pour vos suggestions.
2013
Je suis très intéressé par vos tests suivants, car j'ai eu le même genre de problème difficile à reproduire… et je dois le tuer!
dan
3

Cela devrait être assez facile à retrouver avec l'outil sysdiagnose.

Lorsque vous obtenez un navigateur coincé et crache des erreurs, ouvrez le terminal et ajoutez le nom du navigateur comme argument au script: (donc si Safari plante)

 sysdiagnose Safari

Cet outil appellera sudoqui a besoin de vous pour taper votre mot de passe (il ne s'affichera pas à l'écran, alors tapez-le lentement si vous êtes nouveau sur sudo ou enclin à taper votre mot de passe si vous ne le voyez pas être tapé).

À ce stade, vous obtiendrez un énorme fichier de diagnostic système tar.gz stocké dans / private / var / tmp que vous pouvez copier sur votre bureau et parcourir. Ce sera un peu comme chercher une aiguille dans une botte de foin - mais vous pouvez être sûr que certaines ressources se remplissent si un redémarrage fait fonctionner les choses jusqu'à ce qu'un bug ou une ressource soit déclenché / utilisé à nouveau.

bmike
la source
Merci pour le conseil! J'ai dû redémarrer pour faire un travail urgent, donc le problème n'est pas actif en ce moment. Je serai sûr d'essayer votre suggestion et d'envoyer une réponse la prochaine fois qu'elle apparaîtra.
octern
Cela semble bon - vous pouvez également soumettre un rapport de bogue à Apple si vous ne pouvez pas diagnostiquer le problème. Ils ne répondront probablement pas pour vous aider à résoudre votre problème, mais ils pourraient résoudre le problème sous-jacent avec les données que vous soumettez sur l'apparence du système lorsque vous parvenez à le casser à nouveau.
bmike
2

Regardez votre table de routage (exécutée netstat -rnsur un terminal). Ce problème persiste même après un redémarrage.

J'ai résolu des problèmes similaires que j'ai rencontrés en désactivant TCP / IP ( Préférences Système »Réseau» Wi-Fi »Avancé» TCP / IP ) et en réactivant TCP / IP pour l'interface Wifi / Ethernet.

VincentM
la source
1

Il est peu probable que ce problème soit lié à la mémoire système, mais plutôt aux tampons réseau. Veuillez nous montrer la sortie de netstat -m.

Quel logiciel VPN utilisez-vous? Voyez-vous le problème lorsque vous n'utilisez pas de VPN?

AndrewNimmo
la source
0

Quelques suggestions, même si vous les avez peut-être déjà essayées:

  1. Videz les caches, partout ... exécutez Cocktail ou MacPilot pour les détruire tous.
  2. Videz le Internet Plug-insdossier dans le Librarydossier principal . Chaque navigateur les utilisera.
  3. Je suggère également de créer un nouveau compte utilisateur et de le tester là-bas, juste pour voir ce qui se passe.
Pixelwiz
la source
0

Mon ami rencontrait une fois un problème similaire avec Google Chrome où il tirait de la RAM comme ça. Vous pouvez regarder quels programmes utilisent la quantité de RAM lorsque ce problème se produit avec le moniteur d'activité. S'il existe une sous-opération de Google Chrome, vous pouvez essayer de la réinstaller.

cbbcbail
la source
0

Après de nombreuses expérimentations aveugles, j'ai trouvé une solution! Si je crée manuellement une entrée dans la table de routage pour le bloc IP qui ne parvient pas à se charger, cela résout le problème.

Étape 1: recherchez l'adresse IP du site que vous souhaitez charger.

Vous pouvez le faire en utilisant ping, digou nslookup(voir cette question pour plus de détails).

Étape 2: Trouvez l'adresse IP de votre passerelle

Vous pouvez le trouver à partir du panneau de configuration réseau, à partir de ifconfigou en exécutant netstat -rnet en notant l'adresse IP à côté de l'entrée "par défaut".

Étape 3: créer une entrée de table de routage pour l'adresse IP ou le bloc affecté

Utilisez la commande sudo route add [affected IP address] [gateway IP address]

Si, comme moi, vous avez ce problème avec des blocs IP entiers à la fois, vous pouvez entrer le bloc / 8 entier. Par exemple, si l'adresse du site que vous souhaitez atteindre est 173.231.155.34, vous pouvez saisirsudo route add 173.0.0.0/8 [gateway IP address]

C'est une assez mauvaise solution. Vous devez saisir à nouveau tous ces éléments manuellement si vous passez à un réseau avec une adresse de passerelle différente ou si vous redémarrez. Et cela n'explique toujours pas pourquoi cela s'est produit en premier lieu. Mais cela me permet d'utiliser mon ordinateur, alors qu'auparavant j'étais totalement arrosé.

octern
la source