Estarás bien incluso con 1GiB (y probablemente menos) de intercambio. Mi computadora de trabajo generalmente no usa más de 140-150 MiB. Un gigabyte es un exceso de aprovisionamiento para eso.
A menos que realice tareas de cómputo que requieran conjuntos de datos en cientos de gigabytes y (¡este es importante!) Se accede a los datos de manera más o menos de acceso único, nunca querrá tener un intercambio mucho más grande que eso. Pero, de nuevo, simplemente el mapeo de memoria de un archivo de datos funciona igualmente bien para esa aplicación.
Pero más intercambio ayuda más, ¿verdad? ¡Más de todo siempre es mejor!
Considere qué diferencia hará un intercambio de, digamos, 16GiB (o piense en 64GiB). Si nunca usa estos 16GiB, también podría no tenerlos apartados en primer lugar. Pero si los usas , ¿qué pasa? El disco, en comparación con la memoria principal, es extremadamente lento. Incluso con un SSD SATA-600, transferir 16GiB toma entre 30 y 40 segundos, y 2-4 veces más en algunas otras configuraciones.
Ahora, inevitablemente, alguien objetará que estás entrando y saliendo de una docena de páginas de 4 KB, no 16 GB de una sola vez. Si bien eso es cierto, el punto no obstante se mantiene. Si solo necesita intercambiar un par de páginas, no necesita 16GiB de intercambio, pero si necesita 16GiB de intercambio, entonces también las transferirá (de una forma u otra).
En teoría, el 99.9% de todos los usuarios podrían incluso usar una máquina de 64GiB (o cualquier máquina de 8 + GiB) sin ningún intercambio, y lo más probable es que nunca noten que falta algo. Sin embargo, esto no es aconsejable.
Primero, es subóptimo porque el sistema operativo tiene menos opciones en lo que puede descartar cuando se queda sin memoria física. Hay dos cosas que puede hacer: intercambiar algo que no se usa o tirar páginas de la memoria caché del búfer. Si no tiene intercambio, solo hay una cosa que puede hacer. Tirar páginas de la memoria caché del búfer es inofensivo, pero puede afectar notablemente el rendimiento.
En segundo lugar, las asignaciones anónimas privadas simplemente pueden fallar si no hay intercambio. Eso generalmente no sucederá, pero eventualmente cuando no hay suficiente memoria física disponible para satisfacerlos a todos, y no hay intercambio, el sistema operativo solo tiene esta opción, excepto ...
Tercero, el temido asesino OOM puede entrar en acción Lo que significa que un proceso más o menos aleatorio puede ser asesinado. No gracias. Esto no es algo que quieras que suceda.
Dicho esto, consejos como si necesita un intercambio X veces la cantidad de RAM instalada proviene de personas que repiten algo que escucharon (¡y no entendieron!) De alguien que repitió algo que escucharon (¡y no entendieron!) Décadas hace.
La regla de "usar 2X su RAM" fue una regla práctica fácil de recordar en los años 80 y 90, nunca fue la "verdad dorada" (algo que funcionó bien para la mayoría de los usuarios), y no se aplica en absoluto hoy en día. .
Debe tener una cantidad razonable de intercambio que pueda pagar fácilmente (por ejemplo, un gigabyte), para que el sistema operativo pueda localizar algunas cosas obsoletas, y para que el mundo no termine inmediatamente cuando una vez pide un poco más de memoria. Pero eso es todo.
mmap
para asignar sus páginas de configuración de trabajo. Entonces su cantidad de intercambio será exactamente la cantidad que necesita para su proceso.