errore di "memoria esaurita" quando si tenta di caricare siti Web specifici (non sono fuori RAM)

14

UPDATE: la soluzione di Rich (con il segno di spunta) ha risolto il mio problema! Ho anche inviato una risposta con una soluzione che può essere d'aiuto se la soluzione di Rich non funziona per te. La risposta che ha ricevuto la taglia è stata la migliore al momento, ma non ha una soluzione reale (anche se ha aiutato con la risoluzione dei problemi).

Sto riscontrando un problema in cui il mio computer (Macbook Pro, 8GB 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 con il mio computer o connessione Internet e quando altri siti vengono caricati senza problemi.

Quando si verifica ciò, 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 premuto Invio (nessun messaggio di errore, nessun messaggio di errore per indicare che sta caricando o sta tentando 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 il quale ho cancellato)

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

Altre note:

  • Posso confermare che ciò si verifica su più reti wireless e VPN.
  • Al momento stava succedendo che avevo 2 GB di RAM "inattivi" e 500 MB "liberi" su 8 GB totali, quindi non ho ancora esaurito la memoria. Altri siti Web e applicazioni stanno rispondendo in modo brusco e non ci sono segni di eccessivo scambio.
  • La risposta da ping sembra suggerire che il problema non influisce sul DNS (sebbene l'indirizzo IP possa essere stato memorizzato nella cache da qualche parte).

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

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

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

    
posta octern 30.11.2012 - 04:18
fonte

8 risposte

6

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

Sul computer che non funzionava, avevo una destinazione 192.168.43.1 con un gateway del link n. Sul computer che funzionava, il gateway per quella destinazione era l'indirizzo mac del router wireless, quindi ho rimosso quella rotta 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.

Alcuni hanno affermato che andare su Impostazioni → Rete → Wi-Fi → Avanzate → Proxy e attivare Ricerca automatica proxy ha funzionato per loro. Non sono stato in grado di verificarlo poiché la mia connessione è stata risolta eliminando la route "morta".

    
risposta data 16.11.2013 - 22:50
fonte
4

Questo non è né un RAM né un problema relativo 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 localizzare l'origine di questo problema quando si verifica:

  • %codice% fornirà informazioni dettagliate sull'utilizzo del pool di buffer;
  • netstat -mm se la tua attuale interfaccia di rete in uso è netstat -I en0 (Ethernet) ti mostrerà qualsiasi errore reale (Ierrs, Oerrs);
  • en0 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 che potresti trovarti di fronte a un caso del genere, ecco un modo per guardare negli occhi la verità:

  • lascia qualsiasi applicazione di rete ( netstat -r , Safari , Mail ...) in modo da limitare il tuo rumore noto (sulla tua interfaccia di rete);
  • apri ssh e scrivi: Terminal (se l'interfaccia è /usr/bin/sudo tcpdump -i en0 == Ethernet);
    • se l'output di en0 rimane in silenzio, non sei attaccato, basta uscire da questa applicazione privilegiata digitando control-C
    • se l'output di tcpdump è inondato, sei attaccato. Se si è in questo caso, si prega di pubblicare un estratto di questo output e dei 3 comandi precedenti.
risposta data 08.01.2013 - 23:16
fonte
3

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

Quando ricevi un errore nel browser e sputi, apri il terminale e aggiungi il nome del browser come argomento allo script: (quindi se Safari sta andando in crash)

 sysdiagnose Safari

Questo strumento chiamerà sudo che richiede di digitare la tua password (non verrà visualizzata sullo schermo, quindi digita lentamente se sei nuovo su sudo o incline a digitare erroneamente la tua password se non lo fai vederlo digitato).

A questo punto, si otterrà un enorme file system tar.gz di diagnosi di sistema memorizzato in / private / var / tmp che è possibile copiare sul desktop e pori. Sarà un po 'come cercare un ago in un pagliaio, ma puoi essere sicuro che alcune risorse si riempiono se un riavvio fa funzionare le cose fino a quando qualsiasi errore o risorsa non viene attivato / utilizzato nuovamente.

    
risposta data 02.01.2013 - 19:50
fonte
2

Guarda la tua tabella di routing (esegui netstat -rn su un terminale). Questo problema persiste anche dopo un riavvio.

Ho risolto problemi simili che ho avuto disabilitando TCP / IP ( Preferenze di Sistema »Rete» Wi-Fi »Avanzate» TCP / IP ) e riattivando TCP / IP per Wifi / Interfaccia Ethernet.

    
risposta data 22.03.2013 - 15:46
fonte
1

È improbabile che questo problema sia correlato alla memoria di sistema, ma piuttosto ai buffer di rete. Per favore mostraci l'output di netstat -m.

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

    
risposta data 09.01.2013 - 20:14
fonte
0

Alcuni suggerimenti, anche se potresti averli già provati:

  1. Svuota le cache, ovunque ... esegui Cocktail o MacPilot per riempirle tutte.
  2. Svuota la cartella Internet Plug-ins nella cartella Library principale. Tutti i browser li useranno.
  3. Vorrei anche suggerire di creare un nuovo account utente nuovo e testarlo lì, solo per vedere cosa succede.
risposta data 03.01.2013 - 17:55
fonte
0

Un giorno il mio amico si era imbattuto in un problema simile con Google Chrome, in cui aveva accumulato RAM in quel modo. Si potrebbe vedere quali programmi stanno utilizzando la quantità di RAM quando questo problema si verifica con Activity Monitor. Se esiste una sotto-operazione di Google Chrome, potresti provare a reinstallarla.

    
risposta data 03.01.2013 - 23:12
fonte
0

Dopo una lunga serie di esperimenti ciechi, ho trovato una soluzione! Se creo manualmente una voce nella tabella di routing per il blocco IP che non riesce a caricare, corregge il problema.

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

Puoi farlo usando ping , dig o nslookup (vedi questa domanda per i dettagli).

Passaggio 2: trova l'indirizzo IP del tuo gateway

Puoi trovarlo dal pannello di controllo della rete, da ifconfig , o eseguendo netstat -rn e annotando l'indirizzo IP accanto alla voce "default".

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

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

Se, come me, hai questo problema con interi blocchi IP in una volta, puoi inserire l'intero / 8 blocchi. Ad esempio, se l'indirizzo del sito che desideri raggiungere è 173.231.155.34 , puoi inserire sudo route add 173.0.0.0/8 [gateway IP address]

Questa è una soluzione piuttosto brutta. È necessario reinserire manualmente tutti questi dati se si passa a una rete con un indirizzo gateway diverso o se si riavvia. E ancora non spiega perché questo stava accadendo in primo luogo. Ma mi permette di usare il mio computer, quando in precedenza ero totalmente disinformato.

    
risposta data 05.12.2013 - 00:47
fonte

Leggi altre domande sui tag