Si può fare a meno della SWAP

Il ritrovo della comunità dove confrontarsi e discutere sulle notizie dal mondo dell'informatica, di Ubuntu e di tutto quello che la riguarda, novità, pettegolezzi e quant'altro.
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Si può fare a meno della SWAP

Messaggio da AlexDiste »

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?
Avatar utente
domx
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1494
Iscrizione: sabato 3 ottobre 2009, 17:38

Re: Si può fare a meno della SWAP

Messaggio da domx »

sì, certo, se hai molta ram (ma neanche poi troppa) puoi farlo.
lo swap è un 'aiuto' alla ram
Solo puffin ti darà forza e grinta a volontà!
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: Si può fare a meno della SWAP

Messaggio da AlexDiste »

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?
Ultima modifica di AlexDiste il martedì 5 gennaio 2010, 11:01, modificato 1 volta in totale.
Avatar utente
giwex
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 507
Iscrizione: mercoledì 27 dicembre 2006, 21:49
Località: Chennai - India

Re: Si può fare a meno della SWAP

Messaggio da giwex »

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...
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: Si può fare a meno della SWAP

Messaggio da AlexDiste »

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?
Avatar utente
Artaserse
Scoppiettante Seguace
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

Messaggio da Artaserse »

AlexDiste ha scritto: e dovrei avere quindi vantaggi minini (ms) di prestazioni, no?
no se la swap non la usi :)

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
CUBIC84
Prode Principiante
Messaggi: 10
Iscrizione: martedì 10 febbraio 2009, 11:10

Re: Si può fare a meno della SWAP

Messaggio da CUBIC84 »

Nel mio caso si, posso farne a meno...

1) Ho 4 GB di ram
2) Non mi interessa l'ibernazione
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: Si può fare a meno della SWAP

Messaggio da AlexDiste »

no se la swap non la usi
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?



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.
Avatar utente
egabriele
Prode Principiante
Messaggi: 93
Iscrizione: lunedì 30 novembre 2009, 15:56
Località: Firenze

Re: Si può fare a meno della SWAP

Messaggio da egabriele »

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.
Avatar utente
giwex
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 507
Iscrizione: mercoledì 27 dicembre 2006, 21:49
Località: Chennai - India

Re: Si può fare a meno della SWAP

Messaggio da giwex »

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.
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: Si può fare a meno della SWAP

Messaggio da AlexDiste »

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?
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.
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 libera ;D
Avatar utente
gianmpu
Rampante Reduce
Rampante Reduce
Messaggi: 7721
Iscrizione: giovedì 15 novembre 2007, 17:11

Re: Si può fare a meno della SWAP

Messaggio da gianmpu »

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?
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.
"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
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: Si può fare a meno della SWAP

Messaggio da AlexDiste »

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
CUBIC84
Prode Principiante
Messaggi: 10
Iscrizione: martedì 10 febbraio 2009, 11:10

Re: Si può fare a meno della SWAP

Messaggio da CUBIC84 »

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.
Io non ho la partizione di swap e non posso ibernare, appare un messaggio di errore che dice "cannot find swap device. use [...]"

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  ;)
Avatar utente
steff
Moderatore Globale
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

Messaggio da steff »

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.
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.

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.
Allegati
swap.png
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
zeek
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: domenica 19 ottobre 2008, 18:37
Località: Italia

Re: Si può fare a meno della SWAP

Messaggio da zeek »

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 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.
AlexDiste ha scritto:
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.
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 libera ;D
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.
Imagine all the people sharing all the world!
... I wonder if you can.
Avatar utente
giwex
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 507
Iscrizione: mercoledì 27 dicembre 2006, 21:49
Località: Chennai - India

Re: Si può fare a meno della SWAP

Messaggio da giwex »

E' invece probabile che sia io quello che sbaglia  :-X
Avatar utente
steff
Moderatore Globale
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

Messaggio da steff »

CUBIC84 ha scritto:
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.
Io non ho la partizione di swap e non posso ibernare, appare un messaggio di errore che dice "cannot find swap device. use [...]"

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  ;)
  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.
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
Avatar utente
pinguino_faust
Prode Principiante
Messaggi: 71
Iscrizione: giovedì 15 ottobre 2009, 1:16

Re: Si può fare a meno della SWAP

Messaggio da pinguino_faust »

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:

Codice: Seleziona tutto

cat /proc/sys/vm/swappiness
con 4 GB di ram meglio impostare lo swappiness a 10 così da velocizzare il sistema il sistema
Avatar utente
gianmpu
Rampante Reduce
Rampante Reduce
Messaggi: 7721
Iscrizione: giovedì 15 novembre 2007, 17:11

Re: Si può fare a meno della SWAP

Messaggio da gianmpu »

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
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.
"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
Scrivi risposta

Ritorna a “Bar Ubuntu”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 5 ospiti