Mucha gente está informada sobre cómo funciona el almacenamiento en caché del administrador de memoria de Windows leyendo los documentos técnicos de Microsoft, etc. Sin embargo, hay relativamente pocos documentos que describan problemas de rendimiento del mundo real (lentitud) relacionados con archivos mapeados muy grandes / en crecimiento y listas de espera.
Tengo una PC Win7 de 64 bits (8 Gb de RAM) que actúa como servidor. No puedo agregarle más memoria. Tiene un montón de sintonizadores de TV que graban / escriben varios archivos mpeg2 gigantes simultáneos (al menos 3-8GB cada uno) en un HDD 24/7. Dependiendo de qué tan ocupado esté mi PC grabando programas de TV, después de 1-3 días, mi PC se vuelve lenta.
Con solo mirar el Administrador de tareas de Windows, parece que no tengo muchas aplicaciones grandes abiertas; y mucha "memoria disponible". Incluso si cierro todos los procesos activos, la PC permanece lenta. Sin embargo, cuando uso RamMap, puedo ver que estos grandes archivos mpeg2 se convierten en archivos asignados en la lista de espera activa; que con el tiempo hacen que mi PC sea muy lenta. Si selecciono "Lista de espera vacía" en RamMap, mi PC inmediatamente se vuelve extremadamente receptiva; como si acabara de reiniciarlo. No hay nada más que pueda hacer para abordar la lentitud. De hecho, la PC nunca se recuperará de esta lentitud a menos que vacíe la lista de espera o reinicie.
Tengo una utilidad de línea de comandos, EmptyStandbyList.exe, que encontré que purga silenciosamente la lista de espera en lugar de tener que hacerlo en la GUI de RamMap. Sin embargo, desafortunadamente también elimina elementos más pequeños en la lista de espera que son muy útiles para fines de rendimiento para permanecer en la lista de espera.
Mientras buscaba en Google, encontré otras personas que tienen casi el mismo problema que yo. Sin embargo, la mayoría de sus preguntas quedan sin respuesta; sin una explicación real de por qué sucede esto; y, no hay forma definitiva de solucionar el problema que no sea la técnica "Lista de espera vacía".
He visto menciones de una utilidad / servicio de MS llamado "Dynamic Cache"; pero no estoy seguro si cura específicamente lo que quiero. Además, la versión Win7 / Win2008 R2 parece estar disponible solo a través del soporte de MS. También vi un par de utilidades que establecen los "límites de caché de NT mínimo / máximo"; pero parece que son específicos de grupos de trabajo para procesos, no listas de espera.
Espero que alguien que pueda pensar fuera de la caja pueda pensar en una cura más elegante para mí en lugar de que tenga que usar brutalmente vacía toda la lista de espera regularmente; y espero tener una explicación definitiva del síntoma que yo (y otras personas) estamos viendo. La razón por la que mencioné "fuera de la caja" es porque ya hay muchas personas a las que les gusta recitar cómo los archivos mapeados y las prioridades de la lista de espera "deberían" funcionar en papel; lo cual no es muy útil para mí
fuente
Respuestas:
La lista de espera es la caché Superfetch y la "caché dinámica" soluciona un problema diferente. El servicio soluciona un problema donde el caché de metadatos NTFS es demasiado alto. Pero Stadnbylist y este caché son 2 cosas diferentes. La memoria caché NTFS se muestra como memoria usada, mientras que la memoria caché en espera contiene datos, pero se puede vaciar muy rápidamente si realmente la nueva memoria almacena datos en ella.
En el foro sysinternals, el usuario wj32, el autor de Process Hacker, creó una herramienta de línea de comandos que hace lo que quiere:
http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769
Pruébelo si "soluciona" su problema.
fuente
¿Podría ser que la lentitud provenga de Windows obligando a cargar / guardar cosas desde la unidad de intercambio, que con cada video grabado, la lista de espera crece y con una gran unidad de intercambio, otros programas (en segundo plano) ahora son empujados a la unidad de intercambio, ralentizando la máquina.
Si esta PC solo se usa para grabar programas de TV, tal vez una solución podría ser hacer que la unidad Swap sea tan pequeña como Windows permite que se configure, lo que creo que es de 16 MB. No apague la unidad de intercambio totalmente, ya que Windows creará una unidad de intercambio en secreto.
De alguna manera, no puedo imaginar que Windows se vuelva lento, si solo estuviera leyendo datos de la RAM, mientras que no se cargan nuevos programas desde el Disco.
Qoute del documento de MS http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :
"Windows 7 SuperFetch ™ funciona con el administrador de memoria para establecer prioridades para las páginas de la lista de espera. Las páginas que se han colocado recientemente en la lista de espera comienzan con una alta prioridad, que disminuye lentamente con el tiempo.
Si el sistema tiene muy poca memoria para manejar la carga de trabajo, solo un pequeño porcentaje de las páginas en la lista de espera tiene una prioridad baja. Al monitorear el número de páginas con diferentes prioridades, puede determinar si el sistema se beneficiaría al aumentar la cantidad de RAM instalada ".
En general, el objetivo es garantizar que el sistema pueda mantener en la memoria las páginas a las que se hace referencia recientemente y aún tener suficiente memoria disponible para satisfacer cualquier necesidad de memoria inmediata ".
Tal vez también el programa de grabación de TV, ya que sigue ejecutándose y no se detiene, tiene cada página que va a la lista de espera marcada como la más alta prioridad para eliminar otras cosas, lo que normalmente aceleraría Windows. Sin embargo, pensaría que esas cosas se liberan cuando la memoria es baja y / o cuando no hay un archivo de intercambio que Windows no puede comenzar a usar en secreto la unidad de intercambio que ralentiza las cosas. Esto se da por supuesto que los datos de la Lista de espera no se cargarán en la unidad de intercambio.
fuente