versiones todas tipos sistema operativo operating las historia descargar windows operating-system

todas - ¿Qué significa "VM Size" en el Administrador de tareas de Windows?



windows versiones (5)

¿Cuál es la respuesta correcta sobre el tamaño de VM?

  • En Coding Horror

    La cantidad de memoria utilizada con menor frecuencia en los procesos se ha enviado al disco.

  • En comentario al horror de codificación

    Estás equivocado en el tamaño de VM. Es el total de todos los bytes privados (no compartidos) asignados por este proceso, ya sea que estén actualmente en la memoria física o no. Es un mejor valor para rastrear si tienes una pérdida de memoria que ''Mem Usage''. El mismo valor está disponible en el Monitor de rendimiento como ''Proceso: Bytes privados''.

  • En MSDN

    Tamaño de memoria virtual: la cantidad de memoria virtual, o espacio de direcciones, comprometido con un proceso.

Estoy confundiendo lo que es corrent.

La memoria virtual desde una perspectiva de tamaño de computadora es

[una forma de hacer que el programa] crea que tiene una gran variedad de direcciones contiguas; pero en realidad las partes que está usando actualmente están dispersas alrededor de la RAM, y las partes inactivas se guardan en un archivo de disco. ( Wikipedia )

Interpretaría VM Size en el Administrador de tareas de Windows como el espacio total de memoria virtual direccionable o la cantidad de memoria que el proceso está utilizando actualmente en el espacio de la memoria virtual.

Pero en el Administrador de tareas, el tamaño de WM es, en muchos casos, menor que el uso de memoria, que debería ser la cantidad de RAM que utiliza el proceso. Por lo tanto, supongo que el tamaño WM significa algo más?



La cantidad de memoria asignada en el espacio de direcciones de ese proceso. Esto puede incluir asignaciones de memoria compartida.

En un proceso habrá secciones del espacio de memoria para cada objeto compartido (DLL) que sea parte de él, así como también algo de memoria para la pila y áreas asignadas por el proceso en sí.

Por ejemplo, mirando el mapa de memoria de un comando cat en mi sistema, puedo ver sus asignaciones de memoria. En este caso, uso cat /proc/self/maps para investigar el proceso de cat. En su memoria virtual está mapeado el binario en sí, algunos montones, información de locale, libc (con varios indicadores de permisos), ld.so (el enlazador dinámico), stack, vdso y secciones vsyscall y algunas asignaciones anónimas (páginas mapeadas sin archivo de respaldo) )

00400000-00408000 r-xp /bin/cat 00607000-00608000 rw-p /bin/cat 008ac000-008cd000 rw-p [heap] 7fbd54175000-7fbd543cf000 r--p /usr/lib/locale/locale-archive 7fbd543cf000-7fbd54519000 r-xp /lib/libc-2.7.so 7fbd54519000-7fbd54718000 ---p /lib/libc-2.7.so 7fbd54718000-7fbd5471b000 r--p /lib/libc-2.7.so 7fbd5471b000-7fbd5471d000 rw-p /lib/libc-2.7.so 7fbd5471d000-7fbd54722000 rw-p 7fbd54722000-7fbd5473e000 r-xp /lib/ld-2.7.so 7fbd5491d000-7fbd5491f000 rw-p 7fbd5493a000-7fbd5493d000 rw-p 7fbd5493d000-7fbd5493f000 rw-p /lib/ld-2.7.so 7fff5c929000-7fff5c93e000 rw-p [stack] 7fff5c9fe000-7fff5c9ff000 r-xp [vdso] ffffffffff600000-ffffffffff601000 r-xp [vsyscall]

Para cada asignación, reste la dirección de inicio de la dirección final para determinar su tamaño, por ejemplo, la línea [stack] : 0x7fff5c9ff000 - 0x7fff5c9fe000 = 0x1000 . En decimal, 4096 bytes - una pila de 4 kib.

Si suma todas estas cifras, obtendrá el tamaño de la memoria virtual (VM) del proceso.

El tamaño de la VM no es una forma confiable de determinar cuánta memoria está usando un proceso. Por ejemplo, solo habrá una copia de cada uno de los mapas de solo lectura /lib/libc-2.7.so en la memoria física, independientemente de cuántos procesos lo utilicen.



No puedo ver el tamaño de la VM en el administrador de tareas de Windows, Whatup Gold tiene un tamaño de VM en su administrador de tareas, ¿lo dices en serio? en este caso, creo que se relaciona con la cantidad total disponible para la VM