GNU/Linux >> Linux Esercitazione >  >> Linux

Scambia su tmpfs (Ovviamente una cattiva idea, ma è possibile?)

Non dovrebbe essere possibile. swapon la chiamata di sistema richiede readpage e bmap (indirettamente) chiamate implementate dal filesystem:

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

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

Ma nessuno di questi è implementato da tmpfs , tale voce non è presente nel corrispondente address_space_operations :http://lxr.free-electrons.com/source/mm/shmem.c?v=4.0#L3104

Per lo stesso motivo, tmpfs non può contenere loop mount e nemmeno ramfs funzionerà (non ha bmap chiamata)


Da questa domanda e risposta https://superuser.com/questions/539287/swapon-failed-invalid-argument-on-a-linux-system-with-btrfs-filesystem (il sito di riferimento originale non risponde):

Quindi "Argomento non valido" dovrebbe essere letto come "Il tuo filesystem non supporta il file di scambio"

Il motivo di incompatibilità che sospetto è una "dipendenza circolare". Da questo articolo:http://www.jamescoyle.net/knowledge/951-the-difference-between-a-tmpfs-and-ramfs-ram-disk:

Queste due differenze tra ramfs e tmpfs rendono tmpfs molto più gestibile, tuttavia questo è uno dei principali svantaggi; tmpfs può utilizzare SWAPspace. Se il tuo sistema esaurisce la RAM fisica, i file nelle tue partizioni tmpfs potrebbero essere scritti su partizioni SWAP basate su disco e dovranno essere letti dal disco al successivo accesso al file.

Il che sarebbe praticamente impossibile nel tuo scenario.

Potrebbe lavorare con ramfs , tho - che non presenta questo problema.


Linux
  1. Linux:è possibile attivare Oom-killer durante lo scambio forzato?

  2. Lo scambio è un anacronismo?

  3. Scambia spazio sui server cloud

  4. È possibile interrompere l'arresto su Linux?

  5. È possibile utilizzare / in un nome file?

Comando Df in Linux

Utilizzo di mod_cluster in Apache

Reindirizzamento da HTTP a HTTPS in NginX

Ubuntu dice 13.04 ma Lsb_release dice 12.10?

È una cattiva idea eseguire apt-get upgrade nel contenitore OpenVZ?

I download HTTP si interrompono dopo un po' di tempo, non è possibile riprenderli