Repository 32bit  Forum
Repository 64bit  Wiki

Swap in ram e compressa

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Swap in ram e compressa

Messaggioda rik70 » lun lug 14, 2014 10:13

Ciao di nuovo a tutti.

Volevo condividere con voi alcuni esperimenti con gli ultimi kernel e la Slackware.

Premessa.

PC vecchio: P4 2.8Ghz con 1 GB di ram.

SWAP
Chiaro che con così poca RAM in certe circostanze il sistema 'swappa'. Sopratutto con firefox e siti particolarmenti pesanti.
Su questa storia dello swapping ho sempre avuto molti dubbi e poche certezze.
Si legge in giro che sarebbe meglio evitarlo. Altri sostengono che in un pc desktop varrebbe l'esatto contrario.

Io ho sempre seguito la prima corrente di pensiero, impostando il parametro del kernel 'vm.swappiness' sul valore '10'.

Problema:
come dicevo prima, in certe circostanze il sistema swappa. E quando lo fa purtroppo tende a essere parecchio meno reattivo - il lancio di nuove applicazioni ci mette più tempo del solito.

Ho deciso allora di provare il secondo approccio e spingere il sistema a 'swappare' - che brutto termine - più spesso. Ma non su disco, piuttosto in ram.

A tale scopo viene in aiuto il modulo zram. Questo modulo negli ultimi kernel è uscito dallo stato "staging" ed è dunque considerato stabile. Supporta la compressione LZ4, che dovrebbe grantire maggiore velocità nella compressione e decompressione. Potrebbe tornare utile anche per montare la /tmp in ram.

Ma veniamo ai "trucchi e consigli".

Kernel 3.15.5.

Configurazione (se non ho dimenticato qualcosa):
Codice: Seleziona tutto
CONFIG_ZSMALLOC=y
CONFIG_ZRAM=m
CONFIG_ZRAM_LZ4_COMPRESS=y
CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_DECOMPRESS_LZ4=y


modinfo zram:
Codice: Seleziona tutto
filename:       /lib/modules/3.15.5-smp/kernel/drivers/block/zram/zram.ko
description:    Compressed RAM Block Device
author:         Nitin Gupta <ngupta@vflare.org>
license:        Dual BSD/GPL
depends:        lz4_compress
intree:         Y
vermagic:       3.15.5-smp SMP preempt mod_unload PENTIUMIII
parm:           num_devices:Number of zram devices (uint)


/etc/rc.d/rc.local:
Codice: Seleziona tutto
if [ -f /lib/modules/$(uname -r)/kernel/drivers/block/zram/zram.ko ]; then
  sysctl vm.swappiness=80
  swapoff -a
  modprobe zram
  echo '256M' > /sys/devices/virtual/block/zram0/disksize
  mkswap /dev/zram0
  swapon -a
  swapon -p 16000 /dev/zram0
fi


Risultato:
bhè a "occhio" i miglioramenti ci sono. Al momento in cui scrivo il sistema utilizza 54 MB di swap, ma non c'è nessun rallentamento di sorta. Insomma il trucco sembra funzionare.

A voi l'onere della prova e i commenti - ovviamente se la faccenda v'interessa.

Ciao
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1255
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce

Re: Swap in ram e compressa

Messaggioda targzeta » lun lug 14, 2014 20:32

Io però non capisco perché swappare in RAM. Cioé, l'area di swap serve proprio quando il PC non ha più RAM, ha senso ridurla ulteriormente per creare un'area di swap che conterrà dei dati che sarebbero comunque andati in lì?

L'unico "vantaggio" è che l'area dovrebbe contenere più dati visto che è compressa, ma questo viene fatto a scapito della CPU.

In pratica il tuo è un finto swap, più che altro è un modo per comprimere la memoria.

Detto questo, io non so cosa usi tu ma io con un semplice WM (IceWM), quindi senza DE faccio quasi tutto con meno di 1GB di RAM (firefox aperto con varie schede). Attualmente ho allocato 500MB.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6186
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Swap in ram e compressa

Messaggioda rik70 » lun lug 14, 2014 20:51

Anch'io utilizzo un DE leggero, e ho 512Mb di swap. Lo swap avviene di solito di pocohi Mb e mi capita su siti come i quotidiani - che caricano la madon*a di roba - o se sto compilando. Poi se apro un pdf nel browser son dolori.

Il problema più che altro è che dopo che swappa su disco come dicevo i programmi mettono più tempo a caricare. L'hardware è a posto quindi escludo problemi.

E' vero che tolgo ram. Ma solo quando questa viene utilizzata. O mi sbaglio? Come avviene con /dev/shm. A me basta che quei pochi megabyte non mi tocchino il disco.

O sto dicendo fesserie? E' per questo che ho postato :)
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1255
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce

Re: Swap in ram e compressa

Messaggioda rik70 » mar lug 15, 2014 16:28

P.s.

La compressione LZ4 non è attiva di default.

Subito dopo il caricamento del modulo e prima di ogni altra cosa:
Codice: Seleziona tutto
echo lz4 > /sys/block/zram0/comp_algorithm


Comunque è tutto spigato per bene nella documentazione del kernel alla voce 'blockdev/zram.txt'.
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1255
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce

Re: Swap in ram e compressa

Messaggioda conraid » mar lug 15, 2014 16:45

Sinceramente ho gli stessi dubbi di Emanuele. Non riesco a vederne l'utilità. Se pensi che la ram ti basti e non vuoi swap su file semplicemente toglilo. Se non basta, ancor di più vale il discorso di non utilità. Forse mi manca qualche prospettiva però :-)
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Swap in ram e compressa

Messaggioda rik70 » mar lug 15, 2014 17:24

conraid ha scritto:Sinceramente ho gli stessi dubbi di Emanuele. Non riesco a vederne l'utilità. [...] Forse mi manca qualche prospettiva però :-)

E' la ragione per cui ho aperto la discussione: sentire i vostri pareri perché anch'io ho molti dubbi :)

Ma andiamo con ordine:
Se pensi che la ram ti basti e non vuoi swap su file semplicemente toglilo.

La ram non basta. Il sistema swappa, di qualche decina di megabyte non di più. Firefox è il responsabile numero uno.

Se non basta, ancor di più vale il discorso di non utilità.

No, perché il punto dolente è che se swappa su disco il sistema diventa meno reattivo.

Il concetto è questo: "devi swappare? Bene, allora ti obbligo finché riesco a tenere tutto in ram, sacrificando un po di memoria". Che poi bisogna vedere a quanto ammonta questo sacrificio: leggendo la documentazione si dovrebbe vedere in '/sys/block/zram0/mem_used_total', anche se non ho capito in cosa è espresso il valore che si legge. Se fosse byte, al momento sono 5.8 megabyte.

Comunque, son tornato al vm.swappiness predefinito (60) e al momento ho 10Mb di swap. Se supera i 256MB - mai visto - e va a pescare sulla partizione, tolgo tutto :)
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1255
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce


Torna a Slackware

Chi c’è in linea

Visitano il forum: Google [Bot] e 3 ospiti