Cómo saber la cantidad (exactamente) de RAM utilizada por un proceso en un instante

La historia corta es que no es realmente posible saber la cantidad exacta de memoria que está usando un proceso. Puede obtener una idea general, pero la cantidad específica es difícil de determinar. Esto es como preguntar “Cuánto espacio está usando una persona”.

La gestión de la memoria en informática es una tarea extremadamente complicada. Esto se debe a que hay una gran variedad de formas en que el sistema maneja, protege y optimiza el uso de la memoria.

Con respecto a lo que proporciona el administrador de tareas, Private Working Set se acerca, pero incluso eso no es exacto. Este es el subconjunto del espacio de direcciones virtuales del proceso que es “residente” o “presente” en los términos del formato de tabla de páginas de Intel, lo que significa que se puede acceder sin incurrir en un error de página.

Desafortunadamente, esto es engañoso por una variedad de razones, principalmente porque incluye algo de RAM que se comparte con otros procesos, principalmente aquellos que usan parte del mismo código, como el código de las bibliotecas comunes, y estas páginas compartidas se cuentan en el ” conjunto de trabajo “de todos los procesos en los que residen.

Si suma todos los tamaños de “conjunto de trabajo”, obtendrá un número mayor que la cantidad real utilizada. Si se cierra otra aplicación, esa memoria no se libera porque la está utilizando, entonces, ¿su “consumo” de memoria aumenta repentinamente?

Además, es probable que parte de la RAM que se perdió recientemente del proceso de trabajo debido al reemplazo de la página todavía esté en la lista de páginas en espera del sistema y, de ser así, el acceso generará un error de página, pero no un error de página difícil. Debido a la seguridad y la protección entre procesos, la memoria que necesita un proceso aún puede estar accesible desde el espacio de memoria de otro proceso (falla de página, rápida de resolver), pero no se cuenta en el conjunto de trabajo.

También hay varias formas de compartir memoria que solo pueden causar un impacto en la escritura. Si solicita una región asignada a la memoria de un archivo, por ejemplo, y esa región ya ha sido asignada por otro proceso, esa memoria será referenciada a usted como de solo lectura. Si decide escribir, se incurre en un impacto en el rendimiento, ya que básicamente copia la memoria a otra página para que permita la escritura.

Todo esto tampoco incluye ningún tipo de memoria respaldada a través de mapeo de archivos o mapeo disperso.

Por ejemplo, suponga que un proceso crea una asignación de memoria privada grabable de un archivo de 2GB. El sistema operativo debe reservar 2 GB de memoria virtual respaldada para el proceso, ya que podría escribir en cada byte de esa asignación. Además, es posible que nunca les escriba a ninguno de ellos. La memoria física solo se usa en escritura, pero la cantidad total de memoria debe reservarse en la parte posterior. ¿Cómo contamos esto?

Ni siquiera hemos hablado sobre el intercambio, y la gran cantidad de formas en que el sistema maneja el almacenamiento en caché.

Si está utilizando Windows, abra el Administrador de tareas.

Si es Linux, escriba “top” y verá algo como Taskmanager, donde se muestra el consumo de RAM de cada proceso.

Haga clic derecho en la barra de tareas e inicie el administrador de tareas o presione Ctrl + alt + eliminar e inicie el administrador de tareas.

Ahora elija la pestaña de rendimiento de la barra superior.

Vea la sección de memoria allí que muestra su uso de RAM y otros detalles

Administrador de tareas. Para abrir el administrador de tareas, haga clic en el ícono de Windows en la barra de tareas (debe ser el ícono en la parte inferior izquierda), escriba “Administrador de tareas” y luego presione Intro. Luego busque la columna denominada “Memoria” y verá el uso de RAM por programa. Avísame si necesitas más ayuda. ¡Salud!

Administrador de tareas-> rendimiento

Compruébalo en el Administrador de tareas.