errore "memoria insufficiente" durante il tentativo di caricare siti Web specifici (non ho memoria insufficiente)


15

AGGIORNAMENTO: la soluzione di Rich (con il segno di spunta) ha risolto il mio problema! Ho anche pubblicato una risposta con una soluzione alternativa che può aiutare se la soluzione di Rich non funziona per te. La risposta che ricevette la generosità era la migliore in quel momento, ma non ha una soluzione reale (sebbene abbia aiutato con la risoluzione dei problemi).


Sto riscontrando un problema a causa del quale il mio computer (Macbook Pro, 8 GB di RAM, OS 10.8) non tenterà di caricare determinati siti Web. Nulla lo risolve tranne il riavvio. Ciò si verifica quando nient'altro è ovviamente sbagliato nel mio computer o nella mia connessione Internet e quando altri siti si caricano senza problemi.

In questo caso, ecco gli errori che ottengo:

  • Chrome :Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari :"The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox : nessuna risposta dopo aver inserito l'URL e aver premuto Invio (nessun messaggio di errore, nessun pulsante per indicare che si sta caricando o cercando di contattare il sito).
  • 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
    

(dopo di che ho annullato)

La prima volta che l'ho notato, si è verificato per uno o due siti che ho provato a visitare. Ero ancora in grado di utilizzare Facebook e Google. Più tardi, l'errore si è esteso anche a Facebook e Google. Dopo il riavvio, quei siti sono tornati accessibili, ma in seguito non sono riuscito ad accedere ad altri siti (stackexchange.com, surveygizmo.com).

Alcune altre note:

  • Posso confermare che ciò accade su più reti wireless e VPN.
  • Al momento ciò stava accadendo, avevo 2 GB di RAM "inattivi" e 500 MB "liberi" su 8 GB totali, quindi non ho memoria. Altri siti Web e applicazioni stanno rispondendo in modo scattante e non c'è alcun segno di scambio eccessivo.
  • La risposta del ping sembra suggerire che il problema non influisce sul DNS (sebbene l'indirizzo IP avrebbe potuto essere memorizzato nella cache da qualche parte).

Ho trovato solo un altro riferimento a questo problema, in questo thread di supporto Apple . Nessuna soluzione trovata tranne il riavvio.

NOTA: questo non è un problema con l'esaurimento della RAM

Activity Monitor mostra molta memoria libera / inattiva. Non c'è una quantità eccessiva di paging in corso. Altri siti Web si caricano senza problemi. Potrebbe esserci un altro tipo di errore di allocazione della memoria in corso, ma non riesco a immaginare in alcun modo che una semplice vecchia carenza di RAM disabiliterebbe determinati siti Web specifici, senza alcun altro impatto sulle prestazioni.


Mi sembra che tu stia esaurendo la RAM in generale? Dai un'occhiata a dove (quali processi) sta andando la tua memoria.
Gerry,

Grazie, ma non credo sia questo il problema. Non vi è alcun segno di ritardi o scambi quando ciò accade; mi dà all'istante l'errore. Altri programmi e schede del browser continuano a rispondere senza indugio. Inoltre, 2,5 G di RAM disponibile sono piuttosto numerosi (a meno che qualcosa non sia danneggiato e non riesca a riallocare la memoria inattiva).
ottobre

Beh, molto probabilmente qualcosa è rotto, ma non è un problema di navigazione, ma più in generale legato alla gestione della memoria.
Gerry,

Dopo una pausa, il problema è tornato di nuovo. Questa volta mi impediva di accedere a uno qualsiasi dei miei file di lavoro, quindi ho davvero bisogno di una correzione! Bounty aggiunta.
1313

2
È improbabile che questo problema sia correlato alla memoria di sistema, ma invece ai buffer di rete. Per favore, mostraci l'output di netstat -m. Quali VPN stai usando? Vedi il problema quando non stai usando una VPN?
AndrewNimmo,

Risposte:


6

Non sono stato in grado di ripristinare la mia rete disabilitando e riattivando TCP / IP o il Wi-Fi. Sembra che nel mio caso il computer fosse andato a dormire con una connessione VPN Juniper e quando si è riavviato la connessione era scaduta e le rotte non erano state ripulite. Per me, avevo due computer, uno funzionante e uno no, e quindi sono stato in grado di identificare il problema dopo l'esecuzione netstat -rn.

Sul computer che non funzionava, avevo una destinazione di 192.168.43.1 con un gateway del link n. 5. Sul computer su cui stava funzionando, il gateway per quella destinazione era l'indirizzo mac del router wireless, quindi ho rimosso quel percorso con:

sudo route delete -host 192.168.43.1

Dopo questo, ho potuto eseguire il ping del mio router wireless e anche tornare a Internet.

Alcune persone hanno affermato che andare su Impostazioni → Rete → Wi-Fi → Avanzate → Proxy e attivare Auto Proxy Discovery ha funzionato per loro. Non sono stato in grado di verificarlo poiché la mia connessione è stata corretta eliminando il percorso "morto".


Questo funziona! E a differenza della mia soluzione, in realtà risolve il problema di fondo e aiuta a spiegare cosa sta succedendo. Grazie!
ottobre

In retrospettiva, sembra che anche il client Juniper sia stato la causa dei miei problemi. Ora posso segnalare che questo fenomeno non si è ripreso da quando la mia organizzazione ha smesso di usare Juniper e è passato all'interfaccia VPN nativa di OS X.
octern

4

Questo non è né un problema relativo alla RAM né al disco.

Questo è un problema del kernel a causa di un comportamento scorretto di una delle tue interfacce di rete. Ecco alcuni comandi per iniziare a individuare l'origine di questo problema quando si verifica:

  • netstat -mm fornirà informazioni dettagliate sull'utilizzo del pool di buffer;
  • netstat -I en0se la tua attuale interfaccia di rete in uso è en0(Ethernet) ti mostrerà eventuali errori effettivi (Ierrs, Oerrs);
  • netstat -r ti mostrerà se i tuoi percorsi verso il resto del mondo sono corretti.

Questo comportamento scorretto può essere la conseguenza di un attacco di rete automatico o mirato. Se sospetti di dover affrontare un caso del genere, ecco un modo per guardare la verità negli occhi:

  • lasciare qualsiasi applicazione di rete ( Safari, Mail, ssh...) in modo da limitare il proprio rumore noto (sulla vostra interfaccia di rete);
  • apri a Terminale digita: /usr/bin/sudo tcpdump -i en0(se la tua interfaccia è en0== Ethernet);
    • se l'output di tcpdumprimane silenzioso, non sei attaccato, basta uscire da questa applicazione privilegiata digitando control-C
    • se l'output di tcpdumpsta inondando, si viene attaccati. In tal caso, si prega di pubblicare un estratto di questo output e dei 3 output dei comandi precedenti.

Non sono ancora riuscito a provarlo, ma ci proverò quando posso. Ho assegnato la taglia per impedirne la scadenza. Grazie per i vostri suggerimenti.
ottobre

Sono molto interessato dai seguenti test, perché ho avuto lo stesso tipo di problema difficile da riprodurre ... e devo ucciderlo!
dan

3

Questo dovrebbe essere abbastanza facile da rintracciare con lo strumento sysdiagnose.

Quando ricevi un browser incastrato e sputa errori, apri il terminale e aggiungi il nome del browser come argomento allo script: (quindi se Safari si arresta in modo anomalo)

 sysdiagnose Safari

Questo strumento chiamerà sudochi ha bisogno di digitare la password (non verrà visualizzato sullo schermo, quindi digitalo lentamente se sei nuovo sudo o incline a digitare erroneamente la password se non vedi che viene digitata).

A questo punto, otterrai un enorme file tar.gz di diagnosi del sistema memorizzato in / private / var / tmp che puoi copiare sul desktop e fare il pore. Sarà un po 'come cercare un ago in un pagliaio, ma puoi essere certo che alcune risorse si riempiranno se un riavvio fa funzionare le cose fino a quando qualunque bug o risorsa non viene attivato / riutilizzato.


Grazie per il consiglio! Ho dovuto riavviare per fare un lavoro urgente, quindi il problema non è attivo in questo momento. Sarò sicuro di provare il tuo suggerimento e inviare una risposta la prossima volta che arriva.
ottobre

Suona bene: puoi anche inviare una segnalazione di bug ad Apple se non riesci a diagnosticare il problema. Probabilmente non risponderanno per aiutarti a risolvere il problema, ma potrebbero essere in grado di risolvere il problema sottostante con i dati inviati su come appare il sistema quando riesci a risolverlo di nuovo.
bmike

2

Guarda la tua tabella di routing (esegui netstat -rnsu un Terminale). Questo problema persiste anche dopo un riavvio.

Ho risolto problemi simili disabilitando TCP / IP ( Preferenze di Sistema »Rete» Wi-Fi »Avanzate» TCP / IP ) e riattivando TCP / IP per l'interfaccia WiFi / Ethernet.


1

È improbabile che questo problema sia correlato alla memoria di sistema, ma invece ai buffer di rete. Mostraci l'output di netstat -m.

Quale software VPN stai usando? Vedi il problema quando non stai usando una VPN?


0

Alcuni suggerimenti, anche se potresti averli già provati:

  1. Svuota la cache, ovunque ... esegui Cocktail o MacPilot per distruggerli tutti.
  2. Cancella la Internet Plug-inscartella nella Librarycartella principale . Ogni browser li utilizzerà.
  3. Vorrei anche suggerire di creare un nuovo account utente nuovo e testarlo lì, solo per vedere cosa succede.

0

Il mio amico una volta stava riscontrando un problema simile con Google Chrome in cui tirava la RAM in quel modo. È possibile esaminare quali programmi utilizzano quanta RAM quando si verifica questo problema con Activity Monitor. Se è presente un'operazione secondaria di Google Chrome, potresti provare a reinstallarla.


0

Dopo molte sperimentazioni cieche, ho trovato una soluzione! Se creo manualmente una voce nella tabella di routing per il blocco IP che non riesce a caricare, risolve il problema.

Passaggio 1: trova l'indirizzo IP per il sito che desideri caricare.

È possibile farlo utilizzando ping, digo nslookup(si veda questa domanda per i dettagli).

Passaggio 2: trovare l'indirizzo IP del gateway

Puoi trovarlo dal pannello di controllo della rete, da ifconfigo eseguendo netstat -rne notando l'indirizzo IP accanto alla voce "predefinito".

Passaggio 3: Creare una voce della tabella di routing per l'indirizzo IP o il blocco interessati

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

Se, come me, hai questo problema con interi blocchi IP contemporaneamente, puoi inserire l'intero blocco / 8. Ad esempio, se l'indirizzo del sito che si desidera raggiungere è 173.231.155.34, è possibile inseriresudo route add 173.0.0.0/8 [gateway IP address]

Questa è una soluzione piuttosto negativa. È necessario immettere nuovamente tutti questi elementi se si passa a una rete con un indirizzo gateway diverso o se si riavvia. E ancora non spiega perché questo stesse accadendo in primo luogo. Ma mi permette di usare il mio computer, quando in precedenza ero totalmente incantato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.