Desde que actualicé a Windows 10, mi sistema consume excesivamente la memoria RAM
[]
He estado leyendo un poco y determinó que es probable que un controlador de fuga de memoria. Así que me conseguí el Windows Driver Kit y rastreé el uso de la memoria con poolmon:
[]
Sin embargo, no sé realmente cómo proceder desde aquí. ¿Es el elemento etiquetado "smNp" el culpable de este problema? ¿Cómo puedo pasar de ahí a identificar realmente el controlador?
Traté de algunas cosas como "C:\Windows\System32\drivers" findstr /s smnp ." pero no dio resultados. También eché un vistazo al archivo pooltag.txt y esta es la descripción que encontré para él:
[]
Así que sí, cualquier ayuda sería apreciada. Gracias de antemano.
He mirado los rastros de xperf de varios usuarios y aquí la función ntoskrnl.exe!SmKmStoreHelperWorker
del Kernel comienza a asignar memoria.
[![Screenshot][1]][1]
(Haga clic en la imagen para ampliar)
He descubierto esto en [sysinternals][2].
He preguntado a Microsoft al respecto y la respuesta es que esto es por diseño. Está relacionado con la compresión de la memoria del sistema.
En [el anuncio de Windows 10 Build 10525, Microsoft lo explicó un poco][3]:
En Windows 10, hemos añadido un nuevo concepto en el Administrador de Memoria llamado almacén de compresión, que es una colección en memoria de páginas comprimidas. Esto significa que cuando el Administrador de Memoria siente la presión de la memoria Cuando el gestor de memoria siente la presión de la memoria, comprime las páginas no utilizadas en lugar de escribirlas en el disco. Esto reduce la cantidad de memoria utilizada por proceso, permitiendo que Windows 10 para mantener más aplicaciones en la memoria física a la vez. Esto también ayuda a proporcionar una mejor capacidad de respuesta en Windows 10. El El almacén de compresión vive en el conjunto de trabajo del proceso System. Dado que el proceso del sistema mantiene el almacén en la memoria, su conjunto de trabajo crece exactamente cuando la memoria se pone a disposición de otros procesos. Este es visible en el Administrador de Tareas y la razón por la que el proceso del Sistema parece consumiendo más memoria que las versiones anteriores. Así que en lugar de escribir los datos de la memoria en el archivo de páginas los comprime. Y esta memoria comprimida se muestra en el proceso System. Microsoft también publicó más detalles en el hub interno. [Winbeta creó un artículo][4] que incluye más detalles. Al parecer, la razón de esto pasó a hacer con Microsoft elegir suspender las aplicaciones UWP cuando no estaban en primer plano, muy similar a la gestión de algunos sistemas operativos de teléfonos inteligentes. Los usuarios de Windows 8 entendieron (quizás no) que si las apps no estaban en pantalla, no se ejecutarían hasta que que el usuario volviera a pasar a ellas. El enfoque de "todo o nada" está siendo con Windows 10 introduciendo una capa entre el archivo de páginas y la actividad normal de paginación. la actividad normal de paginación. Ahora, cuando se enfrentan a problemas de presión de la memoria, MM determinará qué páginas deben ser movidas a la lista modificada en La lista modificada es una lista secundaria de archivos de páginas de respaldo. La lista modificada es una lista secundaria de archivos de páginas que respalda una lista de archivos de páginas en espera. Una lista de respaldo es Una lista de respaldo es capturada en caso de que la memoria sea recuperada de la lista en espera por otro proceso. proceso, y el proceso original viene buscando su página. En lugar de de todo o nada, Windows 10 MM comprimirá las páginas no utilizadas en lugar de que escribirlas en el disco. Con menos escritura, el resultado debería ser menos operaciones de disco - gracias a la compresión - y ahora más datos pueden ser almacenados en la memoria. [![introduzca aquí la descripción de la imagen][5]]
Según el equipo de Windows, "En la práctica, la memoria comprimida ocupa
ocupa alrededor del40% del tamaño sin comprimir, y como resultado de un típico dispositivo que ejecuta una carga de trabajo típica, Windows 10 escribe páginas en el disco Si todo va de acuerdo con el plan, Windows 10 escribirá páginas en el disco con una frecuencia del 50%. según el plan, los usuarios de Windows podrían experimentar una reducción de los tiempos de espera tiempos de espera para todos los dispositivos, así como una mayor vida útil en los sistemas que tienen discos duros basados en flash.
La descompresión también es algo que Windows 10 está diseñado para hacer bien. Windows 10 está utilizando la combinación de paralelizabilidad y lecturas secuenciales para producir páginas en la memoria una vez llamadas. La nueva descompresión debería resultar en una experiencia más rápida ya que Windows 10 está descomprimiendo simultáneamente los datos y leyéndolos en paralelo usando múltiples CPUs. Las versiones anteriores de Windows pueden haberse sentido lentas debido a las tasas de transferencia entre el disco. Microsoft también publicó un video en el canal9 que explica la característica. Compresión de memoria en Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM En este video Mehmet Iyigun pasó algún tiempo discutiendo por qué el Sistema proceso en Windows 10 está tomando un poco más de memoria y por qué es una buena cosa. Un proceso de tomar más memoria suena como una cosa mala - que es hasta que entendí más acerca de la gestión de la memoria, la paginación, y duro / fallos de página suaves. Resulta que el sistema operativo está haciendo algunas inteligentes optimizaciones que permiten a sus procesos recortar parte de la memoria pero no necesariamente paginarla al disco. No sólo se conserva la memoria en la RAM, sino que también se comprime, haciendo que los fallos de página sean más raros. más raros. El resultado debería ser una experiencia más rápida. En las últimas compilaciones de TH2, Microsoft actualizó la descripción en el administrador de tareas y ahora también muestra que el proceso SYSTEM alberga la "memoria comprimida": para evitar confusiones sobre el "alto" uso. En la actualización de Window 10 Anniversary Update que fue lanzada en agosto de 2016, Microsoft extrajo la compresión en la que ahora se muestra en un pseudo proceso llamadoCompresión de memoria
para no confundir más a los usuarios por qué el SISTEMA tiene un uso de memoria tan grande: [] Pero parece que Taskmgr no muestra este proceso, sólo ProcessExplorer/ProcessHacker son capaces de mostrarlo. El Taskmgr sólo muestra la cantidad de memoria comprimida en el resumen: [] Si pasas el ratón por encima del gráfico de memoria utilizada en Taskmgr verás un tooltip que muestra la cantidad de datos que están comprimidos. En esta demostración se comprimen 388MB a 122MB por lo que se ahorran 267MB con la compresión.
Entrando en services.msc
(a través de Win+R) y deshabilitando Superfetch se soluciona completamente. No estoy seguro de si Superfetch es sólo roto a partir de ahora o it's "por el diseño".
Además, aparentemente deshacerse del archivo de paginación tendrá el mismo efecto, pero la solución anterior es una apuesta más segura.
Desactivar prefetcher en la clave de regedit: HKEY_LOCAL_MACHINE\NSYSTEM\NCurrentControlSet\Control\NSession Manager\NMemory Management\NPrefetchParameters
probablemente tienes Enable Prefetcher
en un valor de 2
o 3
así que cámbialo a 0
.
Lo siguiente que tienes que hacer es desactivar Superfetch
en los servicios
Busca services.msc
Busque superfetch
y haga clic en propiedades
, luego póngalo en desactivado
y detenga también el servicio.
Hago estos pasos y cuando estoy jugando y utilizando normalmente el PC y el proceso system
utiliza sólo 28k