Come risolvere l'errore, 'waiting for available sockets' in Google Chrome
HI,
L'errore di presa disponibile può essere risolto da chrome care.
Non posso rispondere al tuo caso specifico, dato che potresti avere un sacco di cose diverse in corso, ma posso rispondere in generale.
Ci sono due cose principali che causano problemi in questa situazione:
- Chrome
Affrontiamole separatamente.
Sfortunatamente, Chrome è piuttosto scarso nel tracciare la pulizia delle risorse quando non si ha più una vista aperta su uno di questi DOM, quindi tende a "perdere" processi, e i processi si accumulano nel tempo.
Chrome
Chrome è un maiale di memoria e processi.
Processo
Chrome crea un processo per DOM (Document Object Model). Leggi: per sito web. Questo fa parte del suo modello di sicurezza, poiché impedisce che un altro DOM acceda ai dati usando un bug nel browser. Previene i dirottamenti di sicurezza via XSS (Cross-Site Scripting), CSRF (Cross-Site Request Forgery), etc..
Tiene un cattivo in un sito in una finestra/tab dal raggiungere le tue informazioni bancarie in un'altra finestra/tab.
Questa è una buona cosa.
Questa è una cosa negativa.
Si può uccidere esplicitamente i processi di Chrome Helper (come fare questo è fuori dallo scopo di questa discussione; o lo sapete già, o ci vorrebbe molto lavoro per educarvi a questo punto).
Oppure puoi semplicemente uscire periodicamente e riavviare Chrome.
Questo aiuterà anche ad alleviare, ma non a risolvere i problemi di memoria (la memoria è per processo; più processi amplificano i problemi di memoria), ma risolve il problema del processo.
Chrome tende ad usare molta memoria nel tempo.
Quello che si riduce principalmente a qualcosa chiamato Heap Fragmentation. Molto di questo ha a che fare con l'essere basato su WebKit, e le regole di scoping in C++, ma molto ha a che fare con Chrome stesso. In particolare, l'allocatore di memoria e il call site hinting.
Quando sei un browser, e prendi un pezzo di memoria da usare, hai intenzione di tenere quella memoria per un tempo breve, medio o lungo. E più o meno sapete, quando lo prendete, quale di questi sarà. Quindi potreste dare dei suggerimenti all'allocatore di memoria, e l'allocatore di memoria potrebbe dividere la memoria in "zone".
Chrome non fa questo. Invece, la vostra memoria, col tempo, comincia ad assomigliare a un formaggio svizzero, e usate un sacco di memoria.
Certo, molto di questo è tecnicamente "virtuale" (non reale), ma la memoria è in "pagine", e se avete una pagina, dove state usando una delle frasi sulla pagina, non potete restituire la pagina: sprecate tutto lo spazio su quella pagina. Formaggio svizzero.
Arrestare e riavviare Chrome (o uccidere gli helper) permette di recuperare la memoria.
Fattori complicanti
Flash perde memoria, e il modo in cui il plugin è progettato è che una volta che lo usi, rimane in giro nel caso tu voglia usarlo ancora.
Questo non è un problema, tranne che per due cose:
- Anche dopo aver chiuso alcuni programmi Flash, possono rimanere lì a mangiare CPU. Alcuni di loro lo fanno come parte di un attacco (possono catturare i contenuti dello schermo su molte piattaforme attraverso un bug noto), ma per lo più è solo che i programmatori Flash tendono a non pensare a queste cose, e i programmi Flash tendono ad avere molti bug.
- Flash è abilitato di default invece che disabilitato di default in Chrome. Si tende a non vedere perdite di memoria basate su Flash in altri browser perché disabilitano Flash di default.
Si può risolvere il primo problema riavviando Flash. Dato che vive nel suo piccolo Chrome Helper, il modo più semplice per farlo è fermare e riavviare Chrome (o uccidere gli helper) ti permette di recuperare la memoria.
Puoi risolvere il secondo problema riavviando Flash. Dato che vive nel suo piccolo Chrome Helper, il modo più semplice per farlo è fermare e riavviare Chrome (o uccidere gli helper) ti permette di recuperare i cicli della CPU.
.