¿Es correcto suponer que el consumo total de memoria (virtual + físico) de un sistema es la suma de las columnas "Uso de memoria" y "Tamaño de VM" mostrado por el administrador de tareas en Windows?Consumo total de memoria del sistema
Respuesta
Lea estos mensajes de Mark Russinovich:
http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
No, la memoria física y la memoria virtual pueden solaparse. Si una página de memoria está en la memoria virtual y luego se localiza en la memoria física, la memoria virtual no se libera necesariamente, puede reservarse para cuando la página se localice nuevamente.
Pero aún así que es la memoria consumida. A pesar de que es una especie de desperdicio. Está bien conmigo si incluso está a punto de recoger basura. siempre que se haya utilizado es aceptable. Estoy más interesado en ¿hay algo más al lado de estas dos columnas? (tal vez el uso interno de memoria Kernal no se ha mostrado en el administrador de tareas) –
En Windows moderno realmente no hay una sola verdad sobre el "Consumo de memoria total". Depende, por supuesto, de la definición, pero la verdadera pregunta es qué quieres hacer con la respuesta.
Algunos procesos como SQL-Server tienden a usar cada byte de memoria que pueden tener en sus manos, si los permite. El recolector de basura .NET CLR supervisa el uso de la memoria y actúa en consecuencia, tratando de liberar más memoria cuando escasea.
Así, por ejemplo, puede tener un sistema con 8 GB de memoria física, de los cuales el 90% es "usado". La cantidad de esa memoria es realmente necesaria, es muy difícil de decir. El mismo sistema puede ejecutarse en una máquina de 4 GB sin pérdida de rendimiento notable o cualquier otro problema.
Si desea explorar algunas de las complejidades de la administración de memoria en Windows, descargue "VMMap v2.0" desde el antiguo sitio sysinternals. Muestra un uso de memoria muy detallado por proceso y puede ayudarte en tu búsqueda.
citar de Ayuda VMMaps: VMMap categoriza de memoria en uno de varios tipos:
imagen La memoria representa un archivo ejecutable como un archivo .exe o .dll. La columna Detalles muestra la ruta del archivo.
Privado La memoria privada no se puede compartir con otros procesos, se carga con el límite de confirmación del sistema y, por lo general, contiene datos de la aplicación.
Shareable memoria Shareable puede ser compartido con otros procesos, se carga contra el sistema comprometen límite y típicamente contiene datos compartidos entre DLL en diferentes procesos o mensajes de comunicación entre procesos. Las API de Windows se refieren a este tipo de memoria como secciones respaldadas por archivos de paginación.
Archivo asignado La memoria representa un archivo en el disco y la columna de Detalles muestra la ruta del archivo. Los archivos asignados suelen contener datos de aplicaciones.
Montón Montones representan memoria administrada por el administrador de la pila en modo usuario y, al igual que la memoria privada, se carga contra el sistema cometer límite y contiene datos de aplicación.
Managed Heap El montón administrado representa la memoria asignada y utilizada por .NET garbage collector.
Pila Las pilas son memoria utilizada para almacenar parámetros de la función, las variables de función locales de disco y la función de invocación de hilos individuales.Las pilas se cargan contra el límite de compromiso y, por lo general, crecen según la demanda.
Sistema La memoria del sistema es la memoria física en modo kernel asociada con el proceso. La gran mayoría de la memoria del sistema consiste en las tablas de página de proceso.
Gratis Las regiones de memoria libres son espacios en el espacio de direcciones de proceso que no están asignados.
Ahora solo necesita definir qué tipos de memoria considera que son "usados", agregarlos para todos los procesos, eliminar múltiples duplicados y mirar el número ... Hay una razón por la cual en el administrador de tareas u otras herramientas , no hay un número único llamado "consumo de memoria total" :-)
- 1. ¿Cómo medir el consumo total de memoria del contenedor STL?
- 2. En Pharo, ¿cómo se puede medir el consumo de memoria total actual del sistema?
- 3. ¿Cómo se mide el consumo total de memoria del proceso actual programáticamente en .NET?
- 4. Consumo de memoria del módulo Python Shelve
- 5. Consumo de memoria QTreeView
- 6. Consumo de memoria KDB/Q
- 7. FastMM: Total de memoria asignada
- 8. ¿Cómo calculo el consumo total de memoria permgen de una clase?
- 9. Consumo de memoria en Cherrypy
- 10. Comprender el consumo de memoria en iPhone
- 11. rieles delayed_job problema de consumo de memoria
- 12. Obtenga la memoria del sistema total disponible con PHP en Windows
- 13. Consumo de memoria de webkit móvil
- 14. Emgu CV - pérdida de memoria (consumo de memoria)
- 15. Funciones anónimas y consumo de memoria
- 16. Apio - minimiza el consumo de memoria
- 17. Cómo reducir el consumo de memoria phantomjs?
- 18. ¿Cómo registrar el consumo de memoria en Linux?
- 19. Video simple en webView y consumo de memoria
- 20. Obtener el tamaño de la memoria del sistema operativo Java
- 21. Cómo reducir el consumo de memoria C++ por defecto?
- 22. Seguimiento de hilos de memoria y consumo de CPU
- 23. Consumo de memoria de un Scala Stream paralelo
- 24. TVirtualStringTree - restauración de nodos visuales y consumo de memoria
- 25. Configuración de los límites de consumo de memoria con Upstart
- 26. Calcular el consumo de espacio total de archivos específicos en el terminal de Unix
- 27. boost :: serialización alto consumo de memoria durante la serialización
- 28. Tamaño total del objeto NSMutableArray
- 29. ¿Limitar el consumo de memoria de tsvncache.exe en TortiseSVN?
- 30. ¿Cómo afecta el almacenamiento en caché el consumo de memoria?
Sí, Mark proporciona una gran idea de las agallas de Windows. –