Perdita di memoria di Windows 10 - Tag (poolmon) FMic e Irp - Pool non di paging a 5,7 GB


1

Quindi ultimamente ho notato un utilizzo della memoria estremamente elevato. Con solo Chrome con 20 schede aperte, ottengo 13,5 / 16 GB di memoria utilizzata. Gestione attività segnala che Chrome utilizza solo circa 3 GB di memoria. Tutti i restanti processi riportati in Task Manager combinati producono meno di 1 GB di memoria aggiuntiva poiché la maggior parte di essi utilizza tra 10 MB e 50 MB.

Ho usato RamMap per ottenere maggiori dettagli e ho scoperto che il pool non di paging è estremamente alto con 5,7 GB. Ecco un'immagine di RamMap .

Ho usato poolmone scoperto che due cose stanno consumando un'enorme quantità del pool non di paging. Ecco un'immagine di poolmon .

Secondo una ricerca di tag di Google e questo elenco qui , ecco a cosa servono quei 2 tag:

  • FMic - fltmgr.sys - struttura IRP_CTRL
  • Irp - sconosciuto - Io, pacchetti IRP

Ma ora ho raggiunto un vicolo cieco. Ho visto altre domande simili, ma nessuna che riguarda questi tag. Il problema di altre persone di solito proviene da un driver e possono semplicemente aggiornarlo. Ma in questo caso, non so come risolverlo.

Ho trovato il file fltMgr.sys in C: \ Windows \ System32 \ drivers , ma sembra che sia una cosa di Microsoft. In Proprietà -> Dettagli , il suo nome è "Sistema operativo Microsoft Windows" e la descrizione del file è "Gestione filtro file system Microsoft". cioè questo non è solo un driver che posso aggiornare.

Per quanto riguarda il tag Irp , non ne ho idea.

Eventuali suggerimenti? Dove lo prendo da qui e cosa posso fare?

EDIT 03/03/18 : Non possiedo Killer NIC.

Ho usato xperf per registrare e sono arrivato così lontano . Non sono sicuro di dove andare da qui, in alternativa potrei caricare il file .etl, anche se è abbastanza grande, quindi non sono sicuro di dove. Fammi sapere se il caricamento sarà di aiuto.

Sono necessari circa 40 minuti dopo il riavvio e dispongono già di un pool non di paging di 517 MB.

EDIT 04/03/18 # 1 : pool non di paging attualmente a 1 GB dopo un giorno. Sembra aumentare ad una velocità di ~ 1 GB al giorno. L'output di fltmcpuò essere trovato qui .

Per quanto riguarda Irp , non utilizzo antivirus o programmi di backup, a meno che non conti Windows Defender. Tuttavia, utilizzo un collegamento simbolico dal mio C: drive (SSD) al mio F: drive (HDD) per Google Chrome e le cartelle cache di Skype poiché causavano scritture di 20 GB al giorno su disco, cosa che non volevo il mio SSD. Questa cache funziona bene e viene scritta sul mio HDD, ma non penso che causerebbe un I / O fallito.

Ho anche un array Raid 0 di 2 HDD (1 TB ciascuno) creato tramite gli spazi di archiviazione integrati di Windows, non tramite il BIOS o qualcosa del genere. Suppongo che questo potrebbe non avere nulla a che fare con la cosa Irp ?

Infine, registro anche il mio gameplay quando gioco ai videogiochi. Viene eseguito automaticamente in background non appena lancio un gioco, utilizzando un client chiamato Plays.TV. Ma ancora una volta, questo ha esito positivo e non vedo perché la richiesta I / O sia stata emessa ma non completata. I video finiscono di registrare non appena esco da un gioco.

EDIT 04/03/18 # 2 : ho usato typeperf "Memory\Pool Nonpaged Bytes" -si 20 -o npptracker.csve poi ho rappresentato graficamente i risultati come suggerito da @HelpingHand. Ho anche annotato il grafico con tutti gli eventi, quindi puoi vedere quale azione corrisponde ai byte non di paging che saltano su o giù. Ecco il grafico. Su di esso, potresti vedere alcune cose che non riconosci:

  • PUBG - Abbreviazione di PlayerUnknown's BattleGrounds, è un videogioco a cui ho giocato di recente
  • Plays.TV - client di registrazione video che avvia automaticamente la registrazione non appena accedo a un gioco e interrompe la registrazione all'uscita. Registra anche metadati per alcuni giochi e li inserisce nella sequenza temporale del video come indicatore, ad esempio vedrò indicatori nella sequenza temporale quando ho ucciso qualcuno. Questi metadati sono registrati in un file .framelets .
  • Twitch.tv - un sito Web per lo streaming
  • Bot per un browser game - solo un bot che richiede richieste HTML. Funziona solo per circa 30 a 60 minuti alla volta e sono abbastanza sicuro che non abbia alcun effetto.

Come puoi vedere nel grafico, ho usato Xperf usando il seguente comando per circa 7 minuti: Xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 1024 -FileMode Circular

Questo ha prodotto un file .etl da 1 GB che ho zippato e caricato qui (80 MB) .

Alla fine, ho usato di poolmonnuovo circa 2-3 minuti dopo essermi fermato xperf. Ho dimenticato di inserirlo nel grafico della sequenza temporale. Ecco un'immagine del risultato.


Hai una scheda di rete Killer?
David Marshall,

1
Suggerirei di installare Windows Performance Toolkit per ottenere xperf e WPA. Vorrei riavviare il computer, la memoria della piscina dovrebbe essere bassa. Esegui Xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circularper avviare una traccia. Dopo aver aumentato la memoria del pool, eseguire: xperf -stop -d pool.etlper creare una traccia. Carica pool.etl in WPA. Filer per AIFO (mem allocata all'interno liberata all'esterno). Sentiti libero di collegare l'etl.
HelpingHand

Grazie per i commenti Dai un'occhiata alle 2 modifiche. @HelpingHand Posso provare a caricare il file .etl da qualche parte, se hai bisogno di me, anche se sembra che potrebbe avere informazioni personali, almeno questo è l'avvertimento che ho ricevuto quando ho fatto la traccia.
Sam

Mi chiedo se la cattura abbia attraversato la perdita in corso o almeno ad un ritmo per essere ovvi? Ecco una traccia di esempio acquisita allo stesso modo utilizzando l'app di test Microsoft / Sysinternals - NotMyFault come esempio di un driver che può perdere il pool non di paging - imgur.com/a/1U8UR . Nota le dimensioni di impatto e le colonne dello stack. ...
HelpingHand

1
Irp si riferisce ai pacchetti di richiesta I / O. Ci sarà uno di questi per ogni richiesta I / O che è stata emessa, ma non ancora completata. Il display poolmon mostra che ce ne sono circa 5,2 milioni, che è un numero enorme. fltmgr.sys è il gestore e il framework per i driver del minifiltro del file system - se l'analisi del problema punta a fltmgr.sys il problema è quasi sempre in un minifiltro. i minifiltri sono normalmente associati a prodotti antivirus, programmi di backup e simili. Come test, disabilita o rimuovi tutte le cose di terze parti di quella natura e vedi se il problema scompare.
Jamie Hanrahan,

Risposte:


2

L'analisi della traccia in WPA.exe mostra che l' FMicutilizzo del pool proviene dalla RazerCortex.execreazione dei file ( KernelBase.dll!CreateFileW).

inserisci qui la descrizione dell'immagine

Ciò causa anche l' utilizzo dell'IRP (che sta per pacchetto di richieste I / O ):

inserisci qui la descrizione dell'immagine

Il driver rzudd.sys causa anche l'utilizzo dell'IRP:

inserisci qui la descrizione dell'immagine

Quindi aggiorna lo strumento Razor o rimuovilo meglio (e tutti gli altri software / driver relativi a Razor).


Grazie per l'aiuto con l'analisi. Ne sei certo, però? Non sono davvero sicuro di cosa stia succedendo nelle immagini, ma i conteggi e le dimensioni sembrano più piccoli di quanto non facciano per Chrome e nel complesso un po 'piccoli in generale. Potrebbe davvero essere questa la causa? Disinstallerò Razer Cortex ora e monitorerò per un giorno o due per vedere cosa succede. Farò di nuovo un nuovo grafico con lo stesso di typeperf e lo confronterò con quello precedente. Pubblicherò l'aggiornamento tra qualche giorno.
Sam

Posso solo dirti che voglio vedere nella traccia. Non mostra ciò che è accaduto prima (quindi la maggior parte è SCONOSCIUTA per il processo senza stack (n / a))
magicandre1981

rzudd.sys causa anche l'utilizzo dell'IRP, quindi rimuovi davvero tutto ciò che Razor è correlato al sistema.
magicandre1981

Concordato: rimuovi qualsiasi cosa Razer dalla tua macchina, tastiera e mouse inclusi.
Jamie Hanrahan,

Sì, sicuramente non sto per rimuovere la tastiera a causa di una perdita di memoria ...
Sam

-2

Ho avuto lo stesso identico problema. I tag FMic e IRP erano costantemente in alto, occupando concerti di pool senza paging se il mio computer veniva lasciato acceso per lunghi periodi senza un corretto riavvio. L'ho indicato su Razer Cortex, il mio unico software Razer all'epoca, e il secondo in cui l'ho disinstallato il mio pool non di paging si è ridotto a 1,2 GB anziché 3-4 GB, dopo aver acceso il computer per alcuni giorni. In precedenza avevo provato a reinstallare i driver di Killer Network e avevo rimosso un driver Razer per un dispositivo che non utilizzavo più, ma che non mi ha aiutato tanto quanto rimuovere Cortex.


1
Questo non aiuta l'autore, è un'ottima informazione, forse anche un'ottima risposta alla tua domanda
Ramhound
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.