Demasiada memoria acostumbrándose

13

Me he sentido así durante un tiempo, mirando mentalmente al administrador de tareas mentalmente cuánta memoria física debería estar en uso, y notando una gran disparidad. Finalmente pude medirlo. Tomando los resultados de la lista de tareas y agregando, dio unos 3,87 GB. El administrador de tareas me dijo que estaba usando 4.6 GB de memoria. Esto parece una gran disparidad. ¿A donde se fué?

EDITAR: Entonces, está claro, no va a prefetch. También se ha sugerido que es parte del sistema operativo, pero no parte de ninguno de los procesos del sistema. Si esto es cierto, busque una manera de que el sistema operativo me diga cuánta memoria se está utilizando. Como quiero averiguar a dónde se fue el recuerdo, pedirme que observe la diferencia no me sirve de nada.

EDITAR 2: No es lo siguiente:

  1. El núcleo
  2. El caché
  3. Memoria reservada de hardware

Imagen de los recursos utilizados. No estoy muy seguro de lo que hará, pero ... ingrese la descripción de la imagen aquí

soandos
fuente
¿Qué sistema operativo estás usando? Obtendrá mejores respuestas con más información :)
Cam Jackson
Disculpas ver nueva etiqueta :)
soandos
@soandos: ¿Has intentado deshabilitar superfetch y reiniciar? ¿Hace alguna diferencia?
user541686
Sí, lo hice y no lo hizo, aunque también sería bueno saber cuánta memoria ocupa la captación previa.
soandos
2
La captación previa NO usa memoria, almacena en caché el bytecode más utilizado de las aplicaciones compiladas. No lo desactive o el rendimiento de su sistema disminuirá drásticamente.
Avance

Respuestas:

5

Sugiero descargar Sysinternals Suite de Microsoft . Incluye varias utilidades que le brindarán más información que el Administrador de tareas. Eche un vistazo a las utilidades Process Explorer, RAMMap, VMMap y Process Monitor. Para obtener la mayor cantidad de información de ellos, es posible que deba realizar alguna configuración para cambiar la información que se muestra.

Además, dado que está interesado en la memoria de Windows, aquí hay una serie de publicaciones de blog de Mark Russinovich , uno de los desarrolladores / fundadores de Sysinternals. Ayudará a dar sentido a la información que proporcionan las utilidades.

Joe Internet
fuente
Parece que RAMMap me dice que el administrador de tareas está exagerando el uso total de RAM en aproximadamente 100 MB, pero de acuerdo con la lista de memoria que puedo extraer usando la lista de tareas, RAMMap también está exagerando en aproximadamente 200 MB (lista de tareas +200 = RAMMap, RAMMap + 100 = taskmanger)
soandos
1
No estoy seguro de lo que está viendo, y no estoy en un cajero automático de Windows para investigarlo. Sin embargo, si aún quiere profundizar, pregunte en los foros de Sysinternals. Hay algunas personas muy inteligentes que están muy "interesadas" en lo interno de Windows. Estarán más familiarizados con los puntos más finos de la administración de memoria de Windows.
Joe Internet
Para referencia futura, aquí están las charlas TechEd 2011 de Mark Russinovich sobre administración de memoria de Windows: channel9.msdn.com/Events/TechEd/NorthAmerica/…
Joe Internet
¡Esta "respuesta", aunque aceptada, no responde la pregunta! Simplemente sugiere herramientas y lectura para la investigación.
Jamie Hanrahan
8

Windows 7 usa memoria 'no utilizada' para precachear cosas para hacer que las cosas funcionen más rápido. Si necesita esta memoria, se liberará.

Es una característica, no un error;)

De technet

Después de haber usado un sistema Windows Vista por un tiempo, verá un número bajo para el contador de Memoria física libre en la página de Rendimiento del Administrador de tareas. Esto se debe a que SuperFetch y el almacenamiento en caché estándar de Windows utilizan toda la memoria física disponible para almacenar en caché los datos del disco. Por ejemplo, cuando inicia por primera vez, si ejecuta inmediatamente el Administrador de tareas, debería notar que el valor de Memoria libre disminuye a medida que aumenta el número de Memoria en caché. O, si ejecuta un programa con mucha memoria y luego lo cierra (cualquiera de los "optimizadores de RAM" gratuitos que asignan grandes cantidades de memoria y luego liberan la memoria funcionará), o simplemente copie un archivo muy grande, el número gratuito se elevará y el gráfico de Uso de memoria física caerá a medida que el sistema recupere la memoria desasignada. Con el tiempo, sin embargo, SuperFetch repobla el caché con los datos que se expulsaron de la memoria,

Journeyman Geek
fuente
1
1) Entonces, ¿por qué eso no figura en la memoria de ese proceso? 2) ¿Cómo sé que es el caso aquí?
soandos
Creo que superfetch está bajo svchost. PODRÍA contarse como memoria del núcleo. Puede intentar activar y desactivar Superfetch para verificar.
Journeyman Geek
No hizo nada
soandos
La memoria utilizada por Superfetch está en la lista de páginas en espera y se cuenta como parte de "Disponible". No se cuenta como "en uso" porque se puede reutilizar (sacar de la lista de espera y poner en un proceso) al igual que todo lo demás en la lista de espera, y todo en la lista libre y cero también.
Jamie Hanrahan
5

Los números que ve son totalmente imprecisos y solo deben tomarse como indicaciones.

Un sistema operativo es una entidad extremadamente compleja y un programa de mente simple como el Administrador de tareas nunca puede totalizar el uso completo, muchas partes simplemente son inaccesibles en el modo Usuario en el que se ejecuta. Algunos de los elementos inaccesibles o simplemente imposibles de atribuir a cualquier "tarea" son las tablas de segmentación de hardware, las asignaciones de memoria compartida, la memoria asignada al núcleo, las asignaciones de memoria de página, la memoria de dispositivo y muchas más.

Encontrará más explicaciones en ¿Cómo interpreto la pestaña Rendimiento del Administrador de tareas? , pero elijo citar esta parte:

¿Qué esperas de un programa que se hace llamar "Administrador de tareas"? No hay nada llamado "tarea" en el núcleo del sistema operativo: el sistema operativo tiene "procesos" y "subprocesos". DOS tenía "tareas". El hardware de Intel tiene estructuras de "tareas", pero el sistema operativo no las usa porque es más rápido hacerlo por sí mismo.

El Administrador de tareas es un programa de Windows muy antiguo, tiene problemas incluso para atribuir funciones a los servicios, y los números que muestra deben tomarse con una gran pizca de sal. Probablemente se está perdiendo grandes áreas de memoria que no puede lograr contar o atribuir a ninguna "tarea".

harrymc
fuente
Entonces, ¿qué programa debo usar para resolverlo? PS Task mangager tiene la memoria del núcleo en la lista.
soandos
1
No hay un programa único que le brinde TODA la información. El Administrador de tareas proporcionará información y una aproximación, el Administrador de dispositivos puede informar sobre la memoria del dispositivo, WinObj sobre los objetos de memoria. La mejor fuente es el Monitor de recursos, llamado desde la pestaña Rendimiento del Administrador de tareas (y en otros lugares), que en realidad es el reemplazo moderno del Administrador de tareas.
harrymc
El administrador de recursos proporciona un número dentro de 15 del administrador de tareas.
soandos
Parecen los únicos números que puede obtener de la interfaz de Windows. No son precisos, pero son mucho mejores que nada. Se pueden usar para la resolución de problemas (lo que hago mucho), pero no espere que incluyan todo.
harrymc
La idea de que el Administrador de tareas es un "programa de Windows muy antiguo" es una tontería. Se actualiza con todas las versiones del sistema operativo como casi todo lo demás. En cuanto a "los únicos números que puede obtener", ¿no ha utilizado el Monitor de rendimiento?
Jamie Hanrahan
3

Como habrás notado, el Administrador de tareas puede brindarte una instantánea simplificada de cómo la mayoría de las aplicaciones están afectando tu sistema, pero deja mucho que desear. Si realmente desea profundizar en cachés en RAM, etc., debe ingresar al Monitor de rendimiento. Le tomará un poco de trabajo construir su conjunto de contadores del sistema para monitorear su sistema.

Puede llegar allí ejecutando compmgmt.msc o una búsqueda de Windows para "administración de computadoras" y en el lado izquierdo, verá un árbol de rendimiento en el que puede expandirse y profundizar.

Aquí hay una referencia para algunas de las herramientas disponibles: http://technet.microsoft.com/en-us/library/cc749249.aspx

Limpiar el polvo.
fuente
Si bien veo que es una herramienta genial, que puede hacer muchas cosas (como lo demuestra el hecho de que hay un montón de contadores en la memoria, no tengo idea de lo que estoy buscando. ¿Alguna idea?
Soandos
Además, la opción de agregar contador tiende a quedarse en mi pantalla, y tengo que cambiar manualmente la resolución de un lado a otro para solucionarlo (la actualización no funciona). No es tu culpa, lo sé.
soandos
3

La memoria probablemente se está utilizando para el núcleo. Usando Process Explorer podemos ver un desglose mucho más detallado de la memoria del sistema:

Información de la memoria del núcleo

Aquí he resaltado la cantidad de memoria en uso por el núcleo, que es Paged WS + No paginado, o aproximadamente ~ 300 MB de memoria. Esto está en un sistema recién iniciado con solo navegador web y algunas otras aplicaciones abiertas, aunque bajo una carga pesada, mi sistema doméstico rompe fácilmente 500 MB o incluso 700 MB de memoria del núcleo.

Darth Android
fuente
Lo miré y eso no da suficiente. Gracias de cualquier forma.
soandos
¿Pregunta sobre la diferencia entre los números de Compromiso y Memoria Física?
Darth Android
No, me pregunto por qué cuando ejecuto diferentes herramientas que se supone que me dan los mismos números, obtengo números diferentes.
soandos
2

@soandos, ¿tuvo en cuenta la cantidad de memoria que extrae el video? Es muy posible que el video extraiga 0,73 GB de RAM. ¿Tiene una tarjeta de video decente en esta máquina? Si no, usará RAM de esta manera (por lo que sé). Si me equivoco, alguien interviene aquí, pero creo que esto podría ser el efecto del video que se extrae de la RAM.

David
fuente
Tengo un Nvidia GTS 360M. No es una gran tarjeta de video, pero tiene un GB de memoria.
soandos
¿Qué tipo de monitor estás usando con qué resolución estás usando? Además, ¿estás haciendo tareas intensivas en video, como jugar juegos a 1080p? ¿Y qué tipo de RAM usa su tarjeta de video (por ejemplo, DDR1, DDR2, DDR3, DDR5)? Lo buscaría yo mismo, pero lo intenté con el modelo de tarjeta de video de alguien y me di cuenta de que lo hicieron con diferentes tipos de RAM ...
David
Estándar con la computadora, 1920x1080, ni idea. ¿Hay alguna manera de medir esto?
soandos
Normalmente dirá en el paquete, no estoy seguro. Si conoce el modelo exacto de la tarjeta, puede averiguarlo en Internet. Si no es una tarjeta de video muy poderosa (usando DDR2, DDR1) y está usando 1920x1080 con un monitor grande (por ejemplo, estoy usando un televisor Samsung TOC de 46 "como mi monitor en casa), puede quemar un mucha memoria solo en video ... No estoy seguro de si hay una manera de ver cuánta RAM está consumiendo su video. Sin embargo, haré un poco de investigación en este momento. Voy a comentar si encuentro algo o no. Quiero ayudarlo lo más que pueda. ”
David
Actualmente estoy revisando este programa para ver si podría tener lo que estamos buscando. Es SiSoftware Sandra Lite 2011.2.17.47. La descripción indica que hace lo que estamos buscando, como la cantidad de RAM que consume el video.
David
1

La diferencia que creo que está viendo no se debe a que las herramientas no pueden ver la memoria utilizada, sino a diferentes formas de medición. No puedo explicar esto muy bien, pero afortunadamente no tengo que hacerlo, Mark Russinovich, de la fama de Sysinternals, ha escrito una muy buena serie de publicaciones sobre el rendimiento del proceso en Windows. Las partes sobre la memoria física y la memoria virtual deberían explicar lo que estás viendo.

Paxxi
fuente
No, ese no es el problema. Me preocupa más la cantidad total que el lugar donde está almacenado (RAM o HD).
soandos
0

¡Creo que lo resolví!

¡Acabo de encontrar un consejo sobre RAMMap y resultó que es µTorrent!

No en utorrent.exesí, sino en archivos compartidos por µTorrent, al menos en mi caso: uno de los archivos estaba usando más de 600 MB y otro más de 200 MB, etc.

usuario184804
fuente
-1

Alguna memoria se usa como caché. Tan pronto como necesite esta memoria, se liberará automáticamente. Por lo tanto, no hay que preocuparse.

Neel Mehta
fuente
-1 No es el caché ya que eso es 1) contado por separado, 2) contabilizado fácilmente.
soandos