Si può fare a meno della SWAP
Si può fare a meno della SWAP
Buongiorno,
oggi sono a chiedere il vostro parere su una cosa.
Sappiamo bene che quando installiamo il sistema operativo, una cosa che il sistema operativo gestisce (qualsiasi esso sia) è la cosi detta memoria virtuale. Un file che contiene informazioni temporanee necessario al SO.
Quello che sta nella memoria virtuale però in realtà dovrebbe stare in RAM, quindi da qui la mia domanda. Con le RAM che stanno via via aumentando è necessario lo stesso la memoria vituale o SWAP?
Analizziamo tecnicamente la cosa.
Linux mette la sua swap in una partizione dedicata (volendo anche un un altro hd), per accedderci in lettura/scrittura tuttavia il SO deve far muovere le testine dell HD fino al settore richiesto e poi leggere.
Sappiamo che un accesso al disco è sempre sequenziale e mai diretto. Probabilmente salvando la Swap su una partizione dedicata (ma questa è una mia idea che prego smentire fosse falsa) il So sa che ad esempio deve accedere a 0,0,1 per trovarla del disco 1 dove i tre numeri rappresentano: cilindro,settore,traccia e quindi potremmo avere un accesso diretto.
Ammettiamo di avere un accesso diretto (ripeto non so se sia veramente così), resta il fatto che se la partizione di SWAP si trova nello stesso HD del SO la testina deve comunque muoversi e il "piatto" dell Hd girare, poi deve leggere quello che c' è e poi riposizionarsi dove era.
Se la swap fosse in un altro Hd la testina dell Hd dove c' è il SO rimane ferma, mentre l' altro Hd legge quello che c' è in swap, tutto questo con un incremento di velocità quindi.
Ma sempre un accesso al disco deve fare.
Sappiamo che con gli hard disk EIDE acceddiamo in ms ad un dato, con i SATA più in fretta e con SSD ancora più velocemente, tutta via il tempo di accesso alla swap è subordinato al disco fisso.
Ora sappiamo invece che l' accesso in RAM è randomico e che si ottiene in ambito di nanosecondi (invece che millisecondi), quindi mi chiedo con le RAM che tendono sempre ad aumnetare di dimensione e come frequenze di funzionamento e aumentano anche le frequenze di bus per trasferire i dati verso e da il processore, perchè affidare la gestione della memoria virtuale alla lentezza dei dischi fissi (che non si evolovono velocemente come la RAM), quando potremmo disabilitarla e lasciare tutto caricato in RAM, che sono più perfomarmti?
oggi sono a chiedere il vostro parere su una cosa.
Sappiamo bene che quando installiamo il sistema operativo, una cosa che il sistema operativo gestisce (qualsiasi esso sia) è la cosi detta memoria virtuale. Un file che contiene informazioni temporanee necessario al SO.
Quello che sta nella memoria virtuale però in realtà dovrebbe stare in RAM, quindi da qui la mia domanda. Con le RAM che stanno via via aumentando è necessario lo stesso la memoria vituale o SWAP?
Analizziamo tecnicamente la cosa.
Linux mette la sua swap in una partizione dedicata (volendo anche un un altro hd), per accedderci in lettura/scrittura tuttavia il SO deve far muovere le testine dell HD fino al settore richiesto e poi leggere.
Sappiamo che un accesso al disco è sempre sequenziale e mai diretto. Probabilmente salvando la Swap su una partizione dedicata (ma questa è una mia idea che prego smentire fosse falsa) il So sa che ad esempio deve accedere a 0,0,1 per trovarla del disco 1 dove i tre numeri rappresentano: cilindro,settore,traccia e quindi potremmo avere un accesso diretto.
Ammettiamo di avere un accesso diretto (ripeto non so se sia veramente così), resta il fatto che se la partizione di SWAP si trova nello stesso HD del SO la testina deve comunque muoversi e il "piatto" dell Hd girare, poi deve leggere quello che c' è e poi riposizionarsi dove era.
Se la swap fosse in un altro Hd la testina dell Hd dove c' è il SO rimane ferma, mentre l' altro Hd legge quello che c' è in swap, tutto questo con un incremento di velocità quindi.
Ma sempre un accesso al disco deve fare.
Sappiamo che con gli hard disk EIDE acceddiamo in ms ad un dato, con i SATA più in fretta e con SSD ancora più velocemente, tutta via il tempo di accesso alla swap è subordinato al disco fisso.
Ora sappiamo invece che l' accesso in RAM è randomico e che si ottiene in ambito di nanosecondi (invece che millisecondi), quindi mi chiedo con le RAM che tendono sempre ad aumnetare di dimensione e come frequenze di funzionamento e aumentano anche le frequenze di bus per trasferire i dati verso e da il processore, perchè affidare la gestione della memoria virtuale alla lentezza dei dischi fissi (che non si evolovono velocemente come la RAM), quando potremmo disabilitarla e lasciare tutto caricato in RAM, che sono più perfomarmti?
Re: Si può fare a meno della SWAP
sì, certo, se hai molta ram (ma neanche poi troppa) puoi farlo.
lo swap è un 'aiuto' alla ram
lo swap è un 'aiuto' alla ram
Solo puffin ti darà forza e grinta a volontà!
Re: Si può fare a meno della SWAP
e dovrei avere quindi vantaggi minini (ms) di prestazioni, no?
teniamo conto che parte della RAM nei sistemi 32 bit viene utilizzata come bus indirizzi aggiuntivo per indirizzare tutte le periferiche corettamente, quindi se uno ha ad esempio 4 Gb di ram non la utilizzerà tutta,vero?
teniamo conto che parte della RAM nei sistemi 32 bit viene utilizzata come bus indirizzi aggiuntivo per indirizzare tutte le periferiche corettamente, quindi se uno ha ad esempio 4 Gb di ram non la utilizzerà tutta,vero?
Ultima modifica di AlexDiste il martedì 5 gennaio 2010, 11:01, modificato 1 volta in totale.
- giwex
- Scoppiettante Seguace

- Messaggi: 507
- Iscrizione: mercoledì 27 dicembre 2006, 21:49
- Località: Chennai - India
Re: Si può fare a meno della SWAP
Tiene conto comunque che il sistema usa la SWAP solo se ne ha bisogno. Per cui se la attivi e non la usi vantaggi di prestazioni rispetto a non attivarla non ce ne sono. Credo...
Re: Si può fare a meno della SWAP
Mah io non so Linux ma spesso su windows mi trovo la sua swap che si chiama pagefyle occupato da qualcosa anche se la ram è libera, quindi siamo sicuri Linux la usi davvero solo se ne ha bisogno?
- Artaserse
- Scoppiettante Seguace

- Messaggi: 872
- Iscrizione: giovedì 29 novembre 2007, 14:57
- Desktop: Compiz Standalone
- Distribuzione: ArchLinux x86_64
Re: Si può fare a meno della SWAP
no se la swap non la usiAlexDiste ha scritto: e dovrei avere quindi vantaggi minini (ms) di prestazioni, no?
mi spiego, la swap entra in gioco quando "finisci la ram" e di conseguenza non viene usata se non ce n'è bisogno.
al massimo ti consiglio di lasciarla lì la tua partizione di swap e diminuirne l'uso a mano. Per farlo ti consiglio di leggere un po' di cose riguardo questo file: /proc/sys/vm/swappiness
ciao
Jabber: artaserse@jabber.org | Cosa Ascolto | dotfiles | Felicemente passato ad Archlinux!
artaserse@deviantart
artaserse@deviantart
Re: Si può fare a meno della SWAP
Nel mio caso si, posso farne a meno...
1) Ho 4 GB di ram
2) Non mi interessa l'ibernazione
1) Ho 4 GB di ram
2) Non mi interessa l'ibernazione
Re: Si può fare a meno della SWAP
Proprio perchè non la uso un dato non fa HD-SWAP-RAM ma direttamente HD-RAM, oppure non fa HD-SWAP - SWAP (che è su hd) -CPU per poter essere elaborato, no?no se la swap non la usi
ecco e cosa c' entra la swap con l' ibernazione?
Quando si iberna tutto il contenuto di ram viene salvato nella partizione di swap per caso? Ma se questa non c' è o si è deciso di non usarla non dovrebbe chiederti un altro percorso, o è cosi "stupido"?
Ultima modifica di AlexDiste il martedì 5 gennaio 2010, 11:08, modificato 1 volta in totale.
- egabriele
- Prode Principiante
- Messaggi: 93
- Iscrizione: lunedì 30 novembre 2009, 15:56
- Località: Firenze
Re: Si può fare a meno della SWAP
Che io sappia lo swap non e' usato a priori, ma solo quando la RAM fisica e' piena. Quindi finche' non riempi almeno un 80%-90% di ram non dovresti avere differenze aprezzabili di prestazioni.
Quando la ram e' piena ed un programma A chiede di alloccarne ancora, il gestore della memoria virtuale prende un pezzo di ram allocata da un programma B in quel momendo in 'idle' e lo copia in swap, e rende la ram disponibile per le nuove allocazioni.
Quando il programma che era in idle (B) chiede di essere eseguito ed accede alla propria ram, (che non c'e' piu') questo genera una interruzione che salta al gestore di memoria virutale, che swappa un'altra zona di ram sullo swap e ricopia su quella liberata quella del programma (B) che puo' girare.
Ovviamente la cosa e' gestita intelligentemente, ci sono programmi che girano una volta al secondo o anche meno, per esempio.
Pero' quello che conta ai fini della tua domanda, e' che finche' la RAM c'e' , si usa quella e solo quella, e lo swap rimane vuoto.
Quando la ram e' piena ed un programma A chiede di alloccarne ancora, il gestore della memoria virtuale prende un pezzo di ram allocata da un programma B in quel momendo in 'idle' e lo copia in swap, e rende la ram disponibile per le nuove allocazioni.
Quando il programma che era in idle (B) chiede di essere eseguito ed accede alla propria ram, (che non c'e' piu') questo genera una interruzione che salta al gestore di memoria virutale, che swappa un'altra zona di ram sullo swap e ricopia su quella liberata quella del programma (B) che puo' girare.
Ovviamente la cosa e' gestita intelligentemente, ci sono programmi che girano una volta al secondo o anche meno, per esempio.
Pero' quello che conta ai fini della tua domanda, e' che finche' la RAM c'e' , si usa quella e solo quella, e lo swap rimane vuoto.
- giwex
- Scoppiettante Seguace

- Messaggi: 507
- Iscrizione: mercoledì 27 dicembre 2006, 21:49
- Località: Chennai - India
Re: Si può fare a meno della SWAP
L'ibernazione non centra con la swap visto che i dati vengono salvati sull'hard disk. E' durante l'operazione di stand-by che i dati vengono salvati in memoria.
Re: Si può fare a meno della SWAP
si ma anche durante lo stand by non cambierebbe molto se sono salvati in RAM piuttosto che in SWAP, in stand by non penso la ram si disattivi o venga liberata no?

Ok in fondo sta frase speiga tutto, quindi linux la gestisce intelligentemente. Non come windows che mi riempie la SWAP anche se c' è ancora RAM liberaPero' quello che conta ai fini della tua domanda, e' che finche' la RAM c'e' , si usa quella e solo quella, e lo swap rimane vuoto.
Re: Si può fare a meno della SWAP
Purtroppo la cosa non è così semplice. Tipicamente, infatti, le applicazioni non hanno accesso a tutta la ram. Nel caso di una piattaforma win32, ad esempio, tutte le applicazioni in modalità utente possono avere accesso ad uno spazio di indirizzamento complessivo di 2 Gb, perchè il resto dello spazio è occupato dal kernel e dalle applicazioni che girano in kernel mode. Questo vale per ogni sistema operativo: una parte della memoria sarà sempre riservata per il kernel. Inoltre, con l'aumentare delle funzioni offerte dal kernel e dei processi ad esso collegati, aumenta di conseguenza lo spazio in ram necessario per quest'ultimo. Le applicazioni, quindi, dovranno per forza dividersi uno spazio limitato, che potrebbe non bastare per tutte. Ecco perchè c'è bisogno della swap.AlexDiste ha scritto: Buongiorno,
oggi sono a chiedere il vostro parere su una cosa.
Sappiamo bene che quando installiamo il sistema operativo, una cosa che il sistema operativo gestisce (qualsiasi esso sia) è la cosi detta memoria virtuale. Un file che contiene informazioni temporanee necessario al SO.
Quello che sta nella memoria virtuale però in realtà dovrebbe stare in RAM, quindi da qui la mia domanda. Con le RAM che stanno via via aumentando è necessario lo stesso la memoria vituale o SWAP?
Analizziamo tecnicamente la cosa.
Linux mette la sua swap in una partizione dedicata (volendo anche un un altro hd), per accedderci in lettura/scrittura tuttavia il SO deve far muovere le testine dell HD fino al settore richiesto e poi leggere.
Sappiamo che un accesso al disco è sempre sequenziale e mai diretto. Probabilmente salvando la Swap su una partizione dedicata (ma questa è una mia idea che prego smentire fosse falsa) il So sa che ad esempio deve accedere a 0,0,1 per trovarla del disco 1 dove i tre numeri rappresentano: cilindro,settore,traccia e quindi potremmo avere un accesso diretto.
Ammettiamo di avere un accesso diretto (ripeto non so se sia veramente così), resta il fatto che se la partizione di SWAP si trova nello stesso HD del SO la testina deve comunque muoversi e il "piatto" dell Hd girare, poi deve leggere quello che c' è e poi riposizionarsi dove era.
Se la swap fosse in un altro Hd la testina dell Hd dove c' è il SO rimane ferma, mentre l' altro Hd legge quello che c' è in swap, tutto questo con un incremento di velocità quindi.
Ma sempre un accesso al disco deve fare.
Sappiamo che con gli hard disk EIDE acceddiamo in ms ad un dato, con i SATA più in fretta e con SSD ancora più velocemente, tutta via il tempo di accesso alla swap è subordinato al disco fisso.
Ora sappiamo invece che l' accesso in RAM è randomico e che si ottiene in ambito di nanosecondi (invece che millisecondi), quindi mi chiedo con le RAM che tendono sempre ad aumnetare di dimensione e come frequenze di funzionamento e aumentano anche le frequenze di bus per trasferire i dati verso e da il processore, perchè affidare la gestione della memoria virtuale alla lentezza dei dischi fissi (che non si evolovono velocemente come la RAM), quando potremmo disabilitarla e lasciare tutto caricato in RAM, che sono più perfomarmti?
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
Re: Si può fare a meno della SWAP
non mi torna quanto hai scritto anche processi, servizi, programmi in background e gestori di operazioni che partono dal kernel del SO usano comunque RAM, quindi è chiaro che quella libera è quella totale- quella usata dal SO stesso ma non mi torna perchè la restante non è sfruttabile tutta
Re: Si può fare a meno della SWAP
Io non ho la partizione di swap e non posso ibernare, appare un messaggio di errore che dice "cannot find swap device. use [...]"giwex ha scritto: L'ibernazione non centra con la swap visto che i dati vengono salvati sull'hard disk. E' durante l'operazione di stand-by che i dati vengono salvati in memoria.
Non ho fatto in tempo a leggere quale comando mi diceva di usare.
Da questo ho dedotto che le due cose (ibernazione e partizione dedicata) sono collegate... Se mi sono sbagliato chiedo scusa
- steff
- Moderatore Globale

- Messaggi: 40345
- Iscrizione: domenica 18 febbraio 2007, 19:48
- Desktop: LXQt+labwc
- Distribuzione: Arch; Debian; Ubuntu Server
- Sesso: Maschile
- Località: Toscana
- Contatti:
Re: Si può fare a meno della SWAP
Falso. Salva tutto il contenuto della ram sulla partizione swap proprio sul disco. |Ecco perchO non puoi tolgiere la corrente in sospensione ma solo in ibernazione.giwex ha scritto: L'ibernazione non centra con la swap visto che i dati vengono salvati sull'hard disk. E' durante l'operazione di stand-by che i dati vengono salvati in memoria.
In standby rimane tutto nella RAM, ecco perché è veloce. Detto questo: con 1gb di ram, chrome, arora, amarok, digikam, akregator, skype ktrorrent e qualche altra cosetta aperto vado mai sopra il 10-20% di swap.
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
-
zeek
- Entusiasta Emergente

- Messaggi: 1331
- Iscrizione: domenica 19 ottobre 2008, 18:37
- Località: Italia
Re: Si può fare a meno della SWAP
Non credo che sia proprio così, anche l'ibernazione dovrebbe scrivere i dati sulla ram, tant'è vero che una delle possibili soluzioni al mancato risveglio dall'ibernazione è passare al kernel il paramentro di resume con indicata la partizione di swap. Ma magari mi sbaglio.giwex ha scritto: L'ibernazione non centra con la swap visto che i dati vengono salvati sull'hard disk. E' durante l'operazione di stand-by che i dati vengono salvati in memoria.
Uhm, c'è da dire che (con 4GB non succedera mai credo) ma la swap è impostata per essere usata prima che la ram sia occupata al 100% per lasciare un po' di ram libera in modo da rendere il sistema un po' più reattivo, il valore che regola questa percentuale è lo swappiness.AlexDiste ha scritto:Ok in fondo sta frase speiga tutto, quindi linux la gestisce intelligentemente. Non come windows che mi riempie la SWAP anche se c' è ancora RAM liberaPero' quello che conta ai fini della tua domanda, e' che finche' la RAM c'e' , si usa quella e solo quella, e lo swap rimane vuoto.![]()
Imagine all the people sharing all the world!
... I wonder if you can.
... I wonder if you can.
- giwex
- Scoppiettante Seguace

- Messaggi: 507
- Iscrizione: mercoledì 27 dicembre 2006, 21:49
- Località: Chennai - India
Re: Si può fare a meno della SWAP
E' invece probabile che sia io quello che sbaglia :-X
- steff
- Moderatore Globale

- Messaggi: 40345
- Iscrizione: domenica 18 febbraio 2007, 19:48
- Desktop: LXQt+labwc
- Distribuzione: Arch; Debian; Ubuntu Server
- Sesso: Maschile
- Località: Toscana
- Contatti:
Re: Si può fare a meno della SWAP
basta creare una partizione della dimensione della Ram x 1,3, inserirla in /etc/fstab e sei a posto. IN alternativa va bene un file swap, ma non si usa di solito.CUBIC84 ha scritto:Io non ho la partizione di swap e non posso ibernare, appare un messaggio di errore che dice "cannot find swap device. use [...]"giwex ha scritto: L'ibernazione non centra con la swap visto che i dati vengono salvati sull'hard disk. E' durante l'operazione di stand-by che i dati vengono salvati in memoria.
Non ho fatto in tempo a leggere quale comando mi diceva di usare.
Da questo ho dedotto che le due cose (ibernazione e partizione dedicata) sono collegate... Se mi sono sbagliato chiedo scusa![]()
Il comando era
swapon -a
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
- pinguino_faust
- Prode Principiante
- Messaggi: 71
- Iscrizione: giovedì 15 ottobre 2009, 1:16
Re: Si può fare a meno della SWAP
non è proprio esatto che la swap viene usata solo quando è occupata tutta la ram.
le impostazioni dello swappiness determinano le condizioni in cui subentra l'uso della swap:
se lo swappiness è impostato a 0 significa che la scrittura sul disco rigido sarà evitata a meno che non sia assolutamente necessaria (si esaurisce la memoria RAM)
mentre un swappiness impostata a 100 significa che i dati saranno scritti quasi interamente sul disco rigido.
Di default Ubuntu ha come valore predefinito di swappiness 60, il che significa che la swap verrà utilizzata abbastanza spesso nel caso in cui venga occupata circa la metà della memoria RAM.
È possibile controllare il valore della swappiness dando il comando:
con 4 GB di ram meglio impostare lo swappiness a 10 così da velocizzare il sistema il sistema
le impostazioni dello swappiness determinano le condizioni in cui subentra l'uso della swap:
se lo swappiness è impostato a 0 significa che la scrittura sul disco rigido sarà evitata a meno che non sia assolutamente necessaria (si esaurisce la memoria RAM)
mentre un swappiness impostata a 100 significa che i dati saranno scritti quasi interamente sul disco rigido.
Di default Ubuntu ha come valore predefinito di swappiness 60, il che significa che la swap verrà utilizzata abbastanza spesso nel caso in cui venga occupata circa la metà della memoria RAM.
È possibile controllare il valore della swappiness dando il comando:
Codice: Seleziona tutto
cat /proc/sys/vm/swappinessRe: Si può fare a meno della SWAP
Tagliandola con l'accetta, perchè il sistema operativo seziona la ram in due parti: quella in cui girano i processi del kernel in kernel mode e quella in cui girano le applicazioni in user mode. Ipotizziamo che ci siano 4 Gb di ram e che il sistema operativo li divida in 2+2. Le applicazioni dell'utente girano tipicamente in user mode (o user space). Quando i 2 Gb dello user space, che vengono condivisi da tutte, sono finiti, le applicazioni non possono girare nella memoria del kernel mode, quindi devono necessariamente swappare su disco.AlexDiste ha scritto: non mi torna quanto hai scritto anche processi, servizi, programmi in background e gestori di operazioni che partono dal kernel del SO usano comunque RAM, quindi è chiaro che quella libera è quella totale- quella usata dal SO stesso ma non mi torna perchè la restante non è sfruttabile tutta
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
Chi c’è in linea
Visualizzano questa sezione: Google [Bot] e 5 ospiti
