Ci sono così tanti motivi per avere più aree di scambio (non devono essere file), anche se hai un solo mandrino.
20-20 senno di poi: hai schierato una macchina con una singola area di scambio, poi alla fine hai capito che non era abbastanza. Non è possibile ridistribuire la macchina a piacimento, ma è possibile creare un'altra area di scambio (probabilmente un file) fino a quando non viene ripristinata la disposizione della partizione.
Ridimensionamento o spostamento delle aree di scambio: non è possibile ridimensionare le aree di scambio (come indicato da Evan Teitelman ). E non puoi semplicemente swapoff
creare una nuova area di scambio e poi di swapon
nuovo a meno che tu non abbia abbastanza RAM: swapoff
vuole spostare tutte le pagine scambiate su RAM prima di lasciare l'area di scambio. Quindi fai un'area di scambio temporanea, swapoff
l'originale, attendi che tutte le pagine si siano spostate dall'area di scambio precedente a quella temporanea, ridimensiona la partizione di scambio originale mkswap
, quindi swapon
quella ridimensionata e swapoff
quella temporanea. Le pagine scambiate vengono copiate dall'area di scambio temporanea a quella ridimensionata e il gioco è fatto. Se stai spostando aree di scambio, non hai nemmeno bisogno di un'area temporanea. mkswap
quello nuovo swapon
, alloraswapoff
quello vecchio e tutto è spostato.
Sostituzione veloce pazza: i dischi moderni utilizzano la registrazione dei bit di zona . La prima zona del disco è la più veloce. È possibile che si desideri misurare il disco e creare una partizione che copra esattamente la prima zona più veloce dell'unità. Potrebbe essere inferiore alla dimensione di swap prevista. Quindi aggiungi più partizioni su più dischi, usando la stessa tecnica.
Cambio rapido pazzo, il sequel: in alternativa, una volta che sai dove sono le zone più veloci dei tuoi dischi, puoi creare aree di scambio ad alta priorità nella prima zona, aree di scambio a priorità inferiore nella seconda zona, ecc. In questo modo il tuo sistema di scambio riconosce automaticamente per bilanciare il carico in tutte le zone veloci del disco, preferire le zone più veloci e utilizzare le zone più lente come area di overflow quando si presenta la necessità.
Bilanciamento del carico simmetrico: su un sistema ben costruito con molti mandrini (come un server), mi piace avere più partizioni di swap che occupano l'inizio di ogni disco (per sfruttare la registrazione dei bit di zona ). Hanno tutte priorità identiche, quindi il kernel bilancerà il carico dello swap. Un mandrino può darti 100 MB / s, ma lo scambio su tutti i mandrini potrebbe darti un multiplo di quello. (ingenuamente parlando)
Bilanciamento del carico sensibile al collo di bottiglia : in pratica, tuttavia, esistono altri colli di bottiglia. Ad esempio, un server a 16 dischi può avere quattro porte SATA a 6 Gbps, ognuna con un moltiplicatore a quattro porte e quattro dischi che condividono la larghezza di banda. Se sei a conoscenza di questo, puoi organizzare i tuoi spazi di swap in modo che il disco 1 sulle porte 1–4 abbia la priorità più alta, i secondi dischi sulle porte 1–4 abbiano la seconda priorità più alta, ecc. moltiplicatori di porte.
Scambio di dispositivi con prestazioni diverse: (come menzionato da Luke) se il tuo sistema non è un server nuovo di zecca ed è cresciuto organicamente nel corso degli anni, potrebbe avere dispositivi di blocco significativamente più veloci di altri. Ti consigliamo di passare prima al dispositivo più veloce, quindi al successivo più veloce, ecc.
Considerazioni sulle dimensioni: (per gentile concessione di David Kohen ), forse mettere tutto lo swap su un'unità lascia alcuni concerti liberi sull'unità (sembra uno scenario del 2001, ma ci sono molti dispositivi vecchi o incorporati in cui questo potrebbe essere un problema). Dividilo su tutte le unità e, oltre a tutti gli altri vantaggi di cui sopra, ottieni un migliore utilizzo dello spazio su disco per unità. Una cosa è perdere un paio di concerti per fuso e un altro perdere 300 concerti da un disco.
Emergenze: hai esattamente 96 ore per presentare la tua tesi di dottorato e il tuo ultimo esperimento (quello che probabilmente ti farà ottenere quel premio Nobel, così come lettere funky miste dopo il tuo nome) sta succhiando la memoria a prezzi impressionanti. Hai quasi finito lo scambio. Si crea un file di scambio con una priorità inferiore alla priorità del dispositivo di scambio principale: il kernel lo utilizzerà come spazio di scambio di overflow. Potresti anche installare swapd per farlo automaticamente, così avrai anche molto spazio di swap per quelle enormi emacs
e corse LaTeX.
Scambio tra diversi media: Linux non può passare a dispositivi a caratteri, ma ci sono molti media diversi, fisici e virtuali: SSD (nota: probabilmente non si desidera scambiare su SSD), dozzine di tipi incredibilmente diversi di spinning hard dischi, floppy (sì, puoi scambiare su un floppy - puoi sempre spararti nel piede con Unix), volumi DRBD , iSCSI, volumi LVM, partizioni crittografate LUKS, ecc. (tra cui surreali, strabilianti combinazioni di livelli di questi - scambiare su LUKS su LVM su un'unità ZIP con porta parallela su iSCSI su IEEE802.3ad Ethernet aggregata? Nessun problema, sporco pervertito). Questi sono scenari di nicchia e sono pensati per supportare i requisiti di nicchia.