GNU/Linux >> Tutoriales Linux >  >> Linux

Intercambiar en tmpfs (Obviamente una mala idea, pero ¿es posible?)

No debería ser posible. swapon la llamada al sistema requiere readpage y bmap (indirectamente) llamadas implementadas por el sistema de archivos:

http://lxr.free-electrons.com/source/mm/swapfile.c?v=4.0#L2412

if (!mapping->a_ops->readpage) {
    error = -EINVAL;
    goto bad_swap;
}   

Pero ninguno de ellos está implementado por tmpfs , tal entrada falta en el address_space_operations correspondiente :http://lxr.free-electrons.com/source/mm/shmem.c?v=4.0#L3104

Por la misma razón, tmpfs no puede contener montajes de bucle y ramfs tampoco funcionará (no tiene bmap llamar)


De estas preguntas y respuestas https://superuser.com/questions/539287/swapon-failed-invalid-argument-on-a-linux-system-with-btrfs-filesystem (el sitio original al que se hace referencia no responde):

Por lo tanto, "Argumento no válido" debe leerse como "Su sistema de archivos no admite archivos de intercambio"

El motivo de incompatibilidad que sospecho es una "dependencia circular". De este artículo:http://www.jamescoyle.net/knowledge/951-the-difference- between-a-tmpfs-and-ramfs-ram-disk:

Estas dos diferencias entre ramfs y tmpfs hacen que tmpfs sea mucho más manejable; sin embargo, este es un gran inconveniente; tmpfs puede usar SWAPspace. Si su sistema se queda sin RAM física, los archivos en sus particiones tmpfs pueden escribirse en particiones SWAP basadas en disco y tendrán que leerse desde el disco la próxima vez que se acceda al archivo.

Lo cual sería prácticamente imposible en tu escenario.

podría trabajar con ramfs , aunque - que no tiene este problema.


Linux
  1. Intercambio de espacio en servidores en la nube

  2. ¿Es posible abortar el apagado en Linux?

  3. ¿Es posible usar / en un nombre de archivo?

  4. ¿Es mala idea hacer apt-get upgrade en el contenedor OpenVZ?

  5. Las descargas HTTP se detienen después de un tiempo, no es posible reanudarlas

Comando Df en Linux

Linux:¿es posible activar Oom-killer en el intercambio forzado?

¿Es el intercambio un anacronismo?

Ubuntu dice 13.04 pero Lsb_release dice 12.10?

¿Utiliza tmpfs + una partición de intercambio muy grande para/tmp en lugar de un sistema de archivos normal?

Busybox ping IP funciona, pero el nombre de host nslookup falla con una dirección incorrecta