Desde que actualicé a Windows 10, mi sistema ha estado consumiendo RAM en exceso
He estado leyendo un poco y he determinado que es probable que el controlador pierda memoria. Así que obtuve el Kit de controladores de Windows y rastreé el uso de memoria con poolmon:
Sin embargo, realmente no sé cómo proceder desde aquí. ¿El elemento etiquetado como "smNp" es el culpable de este problema? ¿Cómo paso desde allí para identificar realmente al conductor?
He intentado algunas cosas por el estilo "C: \ Windows \ System32 \ drivers> findstr / s SMNP . " Pero no hay ningún resultado. También eché un vistazo al archivo pooltag.txt y esta es la descripción que encontré:
Entonces, sí, cualquier ayuda sería apreciada. Gracias por adelantado.
windows
memory
drivers
windows-10
memory-leaks
Nayncore
fuente
fuente
Respuestas:
Al entrar en
services.msc
(via Win+R) y deshabilitar Superfetch se resuelve completamente esto. No estoy seguro si Superfetch está roto por ahora o si es "por 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 .
fuente
Observé los rastros de xperf de varios usuarios y aquí la función
ntoskrnl.exe!SmKmStoreHelperWorker
del Kernel comienza a asignar memoria.(Haga clic en la imagen para ampliarla)
Descubrí esto en sysinternals .
Le pregunté 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 :
Entonces, en lugar de escribir datos de memoria en el archivo de paginación, los comprime. Y esta memoria comprimida se muestra en el proceso del Sistema.
Microsoft también publicó más detalles en el centro interno. Winbeta creó un artículo que incluye más detalles.
Microsoft también lanzó un video en el canal 9 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 las últimas compilaciones de TH2, Microsoft actualizó la descripción en el administrador de tareas y ahora también muestra que el proceso SYSTEM aloja
compressed memory
:para evitar confusiones sobre el uso "alto".
En la Actualización del aniversario de Windows 10 que se lanzó en agosto de 2016, Microsoft extrajo la compresión que ahora se muestra en un pseudo proceso llamado
Memory Compression
para no confundir a los usuarios por qué SYSTEM tiene un uso de memoria tan grande:Pero parece que Taskmgr no muestra este proceso, solo ProcessExplorer / ProcessHacker puede mostrarlo. El Taskmgr solo muestra la cantidad de memoria comprimida en la descripción general:
Si pasa el cursor sobre el gráfico de memoria usado en Taskmgr, verá una información sobre herramientas que muestra la cantidad de datos comprimidos.
En esta demostración, 388 MB se comprimen a 122 MB, por lo que 267 MB se guardan con la compresión.
fuente
System Memory compression
Encontré un caso atípico que causa un alto uso de memoria del sistema, y quería incluirlo en caso de que esta información beneficie a alguien.
Si utiliza mucho las instantáneas de volumen de Microsoft (la instantánea de software, no la instantánea de hardware), cuantas más instantáneas mantenga combinadas con grandes cambios de datos, el sistema consumirá más RAM.
Normalmente, la cantidad de RAM utilizada para las instantáneas de volumen es pequeña y no se notará, a menos que tenga un volumen gigante (es decir, 64 TB) con deltas de varios terabytes entre las instantáneas. De forma predeterminada, las instantáneas simplemente se eliminarán si las E / S de escritura son demasiado altas, pero hay formas de evitarlo, lo que le permite alcanzar deltas masivos.
A continuación se muestra un caso extremo que muestra el proceso del sistema de un servidor con 13 GB de RAM. Este servidor tiene solo dos instantáneas de volumen, tomadas con 15 días de diferencia, con alrededor de 10 TB de datos escritos entre cada instantánea.
El proceso del sistema mencionado anteriormente tenía 24 GB de uso y se observaron los siguientes tres comportamientos:
Sospeché las instantáneas de volumen, así que intenté eliminar la instantánea más antigua que instantáneamente redujo el uso de memoria del sistema de 24 GB a 13 GB.
En estas circunstancias, este puede ser un comportamiento normal, aunque no lo he confirmado con Microsoft. Mientras tanto, agregaré 32 GB adicionales de RAM a este servidor para manejar la sobrecarga de Instantánea.
(Nota: este es un servidor de respaldo de alto volumen que ejecuta Windows 2016 con una unidad SSD iSCSI de 64 TB conectada. Mantiene un promedio de tres instantáneas de volumen en un momento dado, con una nueva creada cada 15 días. Hay alrededor de 10 TB de datos escritos entre cada instantánea).
fuente
Deshabilite el prefetcher en la clave regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
probablemente tengaEnable Prefetcher
un valor de2
o3
así cámbielo a0
A continuación, debe deshabilitar los
Superfetch
servicios.Busque services.msc
superfetch
Haga clic en Buscar,properties
luego configúrelodisabled
y detenga también el servicio.Realizo estos pasos y cuando juego y normalmente uso una PC y el
system
proceso usa solo 28kfuente