Estoy tratando de averiguar cuánta memoria está usando mi propio proceso .Net server (con fines de monitorización y registro).Tamaño de la memoria de proceso - Diferentes contadores
que estoy usando:
Process.GetCurrentProcess().PrivateMemorySize64
Sin embargo, el objeto de proceso tiene varias propiedades diferentes que me dejó leer el espacio de memoria utilizado: paginado, bloque no paginado, PagedSystem, NonPagedSystem, privada, virtual, WorkingSet
y luego los "picos": que supongo que almacenan los valores máximos que estos últimos tomaron.
Lectura a través de la definición de MSDN de cada propiedad no ha demostrado ser demasiado útil para mí. Debo admitir que mi conocimiento sobre cómo se gestiona la memoria (en lo que respecta a la paginación y virtualización) es muy limitado.
Así que mi pregunta es, obviamente, "¿cuál debería usar?", Y sé que la respuesta es "depende".
Este proceso básicamente mantener un montón de listas de la memoria de las cosas que están sucediendo, mientras que otros procesos se comunican con él y realizan indagaciones para la materia. Estoy esperando que el servidor donde se ejecutará requiera mucha RAM, por lo que estoy consultando estos datos a lo largo del tiempo para poder estimar los requisitos de RAM en comparación con los tamaños de las listas que guarda dentro.
Entonces ... ¿Cuál debería usar y por qué?
Esta es la más precisa que he encontrado. Quería hacer coincidir lo que mostraba el administrador de tareas. – Andez