He mirado las trazas de xperf de varios usuarios y aquí la función ntoskrnl.exe!SmKmStoreHelperWorker
del Kernel empieza a asignar memoria.
(Haz clic en la imagen para ampliarla)
He descubierto esto en sysinternals .
He preguntado a Microsoft sobre ello 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 la Build 10525 de Windows 10, Microsoft lo explicó un poco :
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, comprime las páginas no utilizadas en lugar de escribirlas en el disco. Esto reduce la cantidad de memoria utilizada por proceso, permitiendo a Windows 10 mantener más aplicaciones en la memoria física a la vez. Esto también ayuda a proporcionar una mejor capacidad de respuesta en todo Windows 10. El almacén de compresión vive en el conjunto de trabajo del proceso del sistema. 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. Esto es visible en el Administrador de Tareas y la razón por la que el proceso System parece estar 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 inside hub. Winbeta creó un artículo que incluye más detalles.
Aparentemente, la razón de esto tuvo que ver con que Microsoft eligió suspender las aplicaciones UWP cuando no estaban en primer plano, muy similar a la gestión de algunos sistemas operativos de los smartphones. Los usuarios de Windows 8 entendieron (tal vez no) que si las apps no estaban en pantalla, no se ejecutarían hasta que el usuario volviera a ellas. El enfoque de “todo o nada” se está actualizando con Windows 10 introduciendo una capa entre el archivo de páginas y la actividad normal de paginación. Ahora, cuando se enfrenta a problemas de presión de memoria, MM determinará qué páginas deben ser movidas a la lista modificada en un proceso llamado recorte. La lista modificada es una lista secundaria de archivos de página que respalda una lista de archivos de página de reserva. Una lista de respaldo es capturada en caso de que la memoria sea recuperada de la lista en espera por otro proceso, y el proceso original venga a buscar su página. En lugar de todo o nada, Windows 10 MM comprimirá las páginas no utilizadas en lugar de escribirlas en el disco. Con menos escritura, el resultado debería ser menos operaciones de disco - gracias a la compresión - y ahora se pueden almacenar más datos en la memoria.
Según el equipo de Windows, “ En la práctica, la memoria comprimida ocupa alrededor del40% del tamaño sin comprimir, y como resultado de un dispositivo típico que ejecuta una carga de trabajo típica, Windows 10 escribe páginas en el disco sólo el 50% de las veces que las versiones anteriores del sistema operativo. ” Si todo va según lo previsto, Los usuarios de Windows podrían experimentar una reducción de los tiempos de espera en 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 utiliza la combinación de la paralelizabilidad y las 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 los datos y leyéndolos simultáneamente 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 ha publicado un vídeo en el canal9 que explica la función.
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 proceso de Sistema en Windows 10 está tomando un poco más de memoria y por qué es algo bueno. Un proceso que toma más memoria suena como algo malo - eso es hasta que entendí más sobre la gestión de la memoria, la paginación, y los fallos de página duros / suaves. Resulta que el sistema operativo está haciendo algunas optimizaciones inteligentes 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 duros sean 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 el compressed memory
:
para evitar confusiones sobre el uso “elevado”.
En la actualización de Window 10 Anniversary Update que fue lanzada en agosto de 2016, Microsoft extrajo la Compresión en ahora se muestra en un pseudo proceso llamado Memory Compression
para no confundir más a los usuarios por qué SYSTEM 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 la vista general:
Si pasa el ratón por encima del gráfico de memoria utilizada en Taskmgr verá 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.