Utilizzo della memory estrema di Windows 2012 Core sul servizio SVCHOST / Workstation

Abbiamo circa 200 server, Hyper V, Cluster di file e IIS, che stanno tutti provando lo stesso problema, un evento si verifica sul server attraverso l'uso normale che esegue il massimo o vicino maxes out la RAM sul server. Una volta che ciò accada, il servizio SVCHOST / Workstation, in particolare (eliminato isolando il servizio Workstation al proprio SVCHOST), smette di rilasciare maniglie / thread e la memory utilizzata da quel servizio non viene mai rilasciata. Abbiamo, in alcuni casi estremi, i servizi di Workstation che utilizzano fino a 40 GB di RAM su un server da 255 GB. Anche in alcuni casi si trovano circa 40 milioni di maniglie.

Al riavvio, il problema, naturalmente, si allontana e non appare nuovamente fino a quando non è stata utilizzata tutta la memory, ad esempio il process W3 o il HyperV VM, dopo che il servizio Workstation inizia a afferrare tutta la RAM. Il process è molto lento e può richiedere settimane / mesi a seconda della quantità di RAM su un server.

  • La mappa di unità di networking tramite GPO non funziona in Windows 2012 (né via script di accesso né mappe di unità)
  • Server FTP su Windows Server 2012: Funziona su localhost, l'errore accede alla cartella quando si utilizza il dominio
  • Disabilitare la pausa Hyper-V a causa dello spazio su disco ridotto
  • Microsoft non riesce oltre il cluster e l'archiviazione con carta raid
  • Errore FTP 530 quando si utilizza l'isolamento utente FTP in IIS 8
  • Imansible assegnare autorizzazioni di gruppo con ICACLS in Windows Server 2012
  • Entrambi i nostri server Hyper V e server IIS accedono a condivisioni per file di lavoro, queste parti sono in memory SSD, quindi sono abbastanza performanti. Abbiamo installato tutte le patch correnti, ma non ci siamo trasferiti in R2 poiché abbiamo un sacco di tooling che renderanno questo un passo significativo e non riescono a trovare alcuna indicazione chiara che questo sarebbe stato risolto in R2.

    Abbiamo eseguito ProcMon e altri strumenti, ma sui server più problematici questi strumenti non verranno persino eseguiti. Sull'altro, i risultati forniti mostrano solo che sembra in effetti una perdita di memory in quel process.

    C'è un modo per liberare la memory da questo process o per evitare tutti i bug? Non vogliamo riavviare e non possiamo riavviare il process una volta che è in uno stato di errore. Il process diventa congelato.

    Stiamo cercando di evitare di fare riavvii regolari per "correggere" questo problema, quindi tutte le risposte verrebbero apprezzate.

  • Exchange 2013 come server fisico VM vs Exchange
  • Windows Server 2012 e Ubuntu 12.04.1 in Hyper-V
  • Errori di authentication MMC e Server Manager - Accesso negato
  • Rimuovere correttamente windows.old su Hyper-V Server 2012 R2
  • Hyper-V 2012 con Server 2003 Guest che richiede IPX
  • Posso installare un server virtuale di Windows Server 2012 utilizzando Hyper-V su Windows Server 2012 con lo stesso codice di prodotto esatto?
  • 3 Solutions collect form web for “Utilizzo della memory estrema di Windows 2012 Core sul servizio SVCHOST / Workstation”

    Ho avuto un problema simile in cui lo svchost stava distruggendo le performance del server.

    La soluzione: si scopre che avevo un log di events completo. L'ho cancellato e tutto è tornato in esecuzione come se non fosse mai successo.

    (Suggeriamo inoltre di cambiare la dimensione del registro events dal predefinito, vedi sotto)

    Per impostare la dimensione massima del registro utilizzando l'interface di Windows
    – Avvia visualizzatore events.
    – Nella struttura della console, passare a e select il registro events che si desidera gestire.
    – Nel menu Azione, fare clic su Proprietà.
    – Nella dimensione massima del registro (KB), utilizzare il controllo spinner per impostare il valore desiderato e fare clic su OK.

    Sembra esattamente come quello che sta accadendo qui, ma finì per essere una soluzione davvero facile. Un riavvio risolverà temporaneamente la questione, ma non appena tutto ciò ha cercato di scrivere al registro, tutto sarebbe fuori mano e continuava a mangiare risorse.

    Spero che questo ti aiuti!

    >Is there a way we can free up the memory from this process ? 

    Non è ansible escludere esternamente (correttamente) la memory allocata o gestire le risorse senza uccidere l'applicazione offensiva.

     >or avoid the bug all together? 

    Si sta verificando una perdita di memory e risorse. L'unico modo per risolvere il problema è trovare la perdita e evitare il suo innesco (se ansible) o fissare la perdita al livello del codice sorgente; Nell'ultimo caso hai bisogno di aiuto Microsoft per la produzione della patch, ma sembra che ti aspetti di indicarli "esattamente" where il problema è veramente.

    Puoi provare a trovare il colpevole individuando la perdita di memory / risorse utilizzando, ad esempio, MS Application Verifier

    La creazione di RAM è semplice ma non c'è soluzione.

    Suggerisco Sysinternals RAMMAP o VMMAP per un'indagine approfondita. Con questi strumenti puoi vedere meglio cosa succede. molto spesso è un problema metafile.

    Dal Server 2008 abbiamo questo problema con tutti i server terminal che esauriscono la memory con un consumo di memory incredibile nel tempo quando si iniziano le applicazioni dalla condivisione.

    La nostra soluzione è che ospita le applicazioni su un Terminal Server separato e che spesso pulisce il consumo di memory.

    Lo facciamo con un'applicazione di row di command c ++ progettata con l'utilizzo
    SetProcessWorkingSetSize () con SeDebugPrivilege su tutti i processi

    È fortemente raccomandato di non fare qualcosa di simile;)

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.