Necesito comentar los comentarios a la pregunta, particularmente la confusión entre "tabla de páginas" y "archivo de páginas". Esta no es una respuesta, pero no cabe en el espacio permitido para comentarios.
La "tabla de páginas" es, de hecho, algo muy diferente del archivo de páginas. Tener n MB de RAM utilizados para las tablas de páginas no significa que esté utilizando n MB de espacio de archivos de páginas. Y aunque algunas entradas de la tabla de páginas (PTE, que son en qué consisten las tablas de páginas) se refieren al contenido del archivo de páginas, no todas lo hacen.
Las tablas de páginas son estructuras en memoria que utiliza la MMU de la CPU para realizar la traducción de direcciones de direcciones virtuales (nuevamente, no el archivo de páginas) a direcciones físicas, y por el sistema operativo para realizar un seguimiento del espacio de direcciones virtuales y ayudar a resolver fallas de página. Las tablas de páginas consisten en entradas de tablas de páginas (PTE). Cada PTE ocupa 8 bytes y define 4K bytes de espacio de direcciones virtuales, es decir, una página virtual. Hay, aproximadamente, un PTE por cada página no libre de espacio de direcciones virtuales.
Por cierto, aunque el archivo de paginación puede experimentar fragmentación tanto externa como interna (el primero no suele ser un gran problema; el segundo puede mejorarse haciéndolo aproximadamente cuatro veces más grande de lo necesario), las tablas de páginas no pueden. Ya están fragmentados, y no importa en lo más mínimo.
Cada PTE tiene un bit "válido". Para las páginas "válidas", también conocidas como "residentes", el PTE contiene el número de página física que corresponde al número de página virtual asociado con el PTE; esto es utilizado directamente por la MMU.
Para las páginas "no válidas", la MMU genera un error de página y el PTE tiene muchos formatos e interpretaciones posibles.
Nota: Todo lo anterior se aplica a cualquier sistema operativo que permita la paginación en x86 / x64. Lo siguiente es en gran parte específico de Windows, pero muchos de los conceptos se aplican a otros sistemas operativos, con diferencias en los detalles de implementación.
Para una página en el caché de la página, el PTE todavía contiene el número de página física. Para las páginas que se han perdido de la RAM y se han escrito en el archivo de página, el PTE contiene el número de archivo de página y el desplazamiento dentro del archivo de página donde se escribió el contenido de la página. Otros posibles contenidos de PTE son referencias a descriptores de direcciones virtuales , referencias a "PTE prototipo", referencias a demanda de cero páginas, etc., en las que no voy a entrar. Baste decir que solo algunos de los PTE se refieren a ubicaciones en archivos de paginación.
Menciono todo esto principalmente para mostrar que el archivo de página y las tablas de páginas, aunque están relacionadas, definitivamente no son lo mismo.
Las tablas de páginas están organizadas en una estructura de árbol. Hay un árbol diferente, o una colección de tablas de páginas, para cada proceso; esto es lo que permite que cada proceso defina su propia instancia de espacio de direcciones virtuales. La tabla de páginas en la raíz del árbol debe estar en la RAM en todo momento. Los otros son paginables; incluso son inexistentes donde corresponderían a grandes regiones (mínimo de 2 MB) de espacio de direcciones virtual indefinido o libre.
Las entradas de la tabla de páginas en las tablas en las "hojas" del árbol corresponden a páginas de espacio de direcciones virtuales. Los PTE en las tablas de nivel superior, los más cercanos a la raíz (y la raíz misma), indican dónde están las siguientes tablas de nivel inferior (si es que existen).
El número que muestra RAMmap es la memoria física (RAM) ocupada por todas las tablas de páginas residentes (en RAM) para todos los procesos más el sistema operativo.
Lo importante aquí es que el sistema en el OQ tenía 2.5 GB de RAM atados con tablas de páginas. Eso significa que, como mínimo, hay 2.5 GB de tablas de páginas definidas. Dado que las tablas de páginas son paginables, el tamaño virtual podría ser mucho mayor que el tamaño físico, que es todo lo que RAMmap nos puede mostrar. Pero suponga que es "solo" 2.5 GB. Con ocho bytes por PTE, eso es aproximadamente 320 millones de PTE. Dado que cada PTE define una página, 4K bytes, de espacio de direcciones virtuales, eso significa que más de 1.2 terabytes de espacio de direcciones virtuales están definidas por tablas de páginas en memoria .
Eso no es imposible, pero es bastante.
Como referencia, en mi cajero automático del sistema, tengo alrededor de 125 MB de RAM en las tablas de páginas. Esto indicaría solo unos 65 GB de espacio de direcciones virtuales. Mi uso virtual real es mucho mayor (125 TB solo para procesos) pero eso se debe a que la mayoría de las tablas de páginas no están en RAM. Las "páginas grandes", otra cosa que no debería mencionar aquí, también pueden ayudar a tener en cuenta las diferentes relaciones entre el tamaño de las tablas de páginas y el tamaño del espacio de direcciones virtuales en uso.
Entonces: PARA encontrar al culpable, primero buscaría en el Monitor de rendimiento en la categoría Proceso para procesos con un alto valor de contador "Bytes virtuales".