Autore Topic: ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati  (Letto 9653 volte)

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Scopo: Migliorare l'utilizzo della ram
Come: Installando il tool "zram"
Prerequisiti: Connessione a internet, spazio su disco
Vantaggi: Migliora l'utilizzo della ram per sistemi con poca ram a disposizione
Svantaggi: Perde efficacia su sistemi con molta ram a disposizione
Tempo necessario: 2 minuti



*****************************************************************************
************     NUOVA VERSIONE PER SYSTEMD ***********
*****************************************************************************



Con l'arrivo di systemd l'utilizzo di zram è molto semplice!

Dovete installare (se già non l'avete fatto) il pacchetto zramswap:
Codice: [Seleziona]
sudo pacman -S zramswap
E poi attivare il servizio relativo che già include lo script per il dimensionamento ottimale:
Codice: [Seleziona]
sudo systemctl enable zram.service
riavviare per attivare zram.

FINITO  ;D

Guida aggiornata a Febbraio 2013[/size]

***************************************************************
********* VECCHIA PARTE DA IGNORARE ******************************
***************************************************************


** ATTENZIONE! LA GUIDA NON E' PIU' VALIDA CON IL PASSAGGIO A SYSTEMD **********
** SE AVETE GIA' EFFETTUATO IL PASSAGGIO ATTENDERE L'AGGIORNAMENTO DEL POST! **


Se avete poca RAM e volete sfruttarla al meglio, consiglio di utilizzare le funzionalità del modulo zram.

Il funzionamento è semplice: parte della memoria viene aggiunta con priorità allo spazio di swap.
E dov'è il guadagno?  ???  I dati qui sono compressi, quindi si ha un aumento della capacità di memorizzazione RAM, sfruttandone la velocità rispetto allo swap su disco.

Bando alle ciance, provarla è un attimo!
(PS: x chi è interessato anche la ROM cynogenMod x Android lo offre come opzione)

1- Installare il modulo zRam
Codice: [Seleziona]
sudo pacman -S zramswap
2- Da root (comando su) lanciare da linea di comando i seguenti comandi e verificare che sia tutto a posto:
Codice: [Seleziona]
modprobe zram
 echo $((50*1024*1024)) > /sys/block/zram0/disksize
 mkswap /dev/zram0
 swapon -p 60 /dev/zram0

Il numero 50 nel comando echo indica i MB da allocare per zRam. Cambiare il numero secondo la memoria disponibile e le esigenze. Consiglio di fare qualche prova senza esagerare con valori troppo alti.

Si dovrebbe vedere un aumento della dimensione dello swap.

Se i risultati sono soddisfacenti, si può rendere il tutto definitivo al prossimo boot

Editare rc.conf
Codice: [Seleziona]
sudo nano /etc/rc.conf
Aggiungere zram alla riga MODULES

Editare rc.local
Codice: [Seleziona]
sudo nano /etc/rc.local
Aggiungere i comandi:
Codice: [Seleziona]
echo $((50*1024*1024)) > /sys/block/zram0/disksize
 mkswap /dev/zram0
 swapon -p 60 /dev/zram0

Per ulteriori info (specie x chi ha systemd): https://wiki.archlinux.org/index.php/Maximizing_Performance#Compcache
« Ultima modifica: 23 Febbraio 2013 ore 15:00 da andreazube »

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #1 il: 29 Agosto 2012 ore 16:48 »
*************************************************************
********** POST RESO OBSOLETO DAL PASSAGGIO A SYSTEMD **********
*************************************************************


Script per attivare/stoppare l'utilizzo di zram e attivarlo anche su più CPU.

Sembra che l'autore di zRam, Sergey Davidoff, abbia anche realizzato uno script per ottimizzare l'utilizzo di questo compressore di memoria.
L'utente di webupd8.org, Matt Brennan, l'ha anche portato per arch/Chakra (http://www.webupd8.org/2011/10/increased-performance-in-linux-with.html#comment-325055732).

Come utilizzarlo (traduzione del messaggio):

- eliminare i comandi introdotti in /etc/rc.local
- copiare il seguente testo in un nuovo file chiamato zramenabler nella cartella /etc/rc.d:
Codice: [Seleziona]
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

# get the number of CPUs
num_cpus=`grep -c processor /proc/cpuinfo`
# set decremented number of CPUs
decr_num_cpus=`expr $num_cpus - 1`

case "$1" in
start)
stat_busy "Enabling zRam"
# get the amount of memory in the machine
mem_total_kb=`grep MemTotal /proc/meminfo | grep -E --only-matching '[[:digit:]]+'`
mem_total=`expr $mem_total_kb \* 1024`

# load dependency modules
modprobe zram num_devices=$num_cpus

# initialize the devices
for i in `seq 0 $decr_num_cpus`; do
echo `expr $mem_total / $num_cpus` > /sys/block/zram$i/disksize
done

# Creating swap filesystems
for i in `seq 0 $decr_num_cpus`; do
mkswap /dev/zram$i
done

# Switch the swaps on
for i in `seq 0 $decr_num_cpus`; do
swapon -p 100 /dev/zram$i
done

stat_done
;;
stop)
stat_busy "Switching off zRam"
# Switching off swap
for i in `seq 0 $decr_num_cpus`; do
if [ "`grep /dev/zram$i /proc/swaps`" != "" ]; then
swapoff /dev/zram$i
fi
done

rmmod zram
stat_done
;;
*)
echo "usage: $0 {start|stop}"
esac

exit 0

- Dare poi:
 
Codice: [Seleziona]
sudo chmod +x zramenabler
- Ed infine aggiungere a /etc/rc.conf nei demoni zramenabler (ed eliminare il modulo zram inserito in precedenza)
« Ultima modifica: 22 Ottobre 2012 ore 13:50 da dinolib »

Offline pessott

  • *
  • Post: 69
  • Reputazione: 2
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #2 il: 29 Agosto 2012 ore 17:41 »
con 2gb di ram puo' avere senso? che valori metteresti di memoria da dedicare a zram?

PS: non mi è comunque chiaro il funzionamento... aggiungiamo dello spazio all'area di swap, quindi se la ram è piena verrà utilizzata in maniera prioritaria la memoria di zRam, ma si tratta comunque di memoria su hard disk quindi lenta, qual'e' il vantaggio?  ::) ::)
Se c'e' soluzione, perchè ti preoccupi?

Se non c'e' soluzione, perchè ti preoccupi?

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #3 il: 29 Agosto 2012 ore 18:11 »
Con 1-2GB è consigliata!

Se utilizzi lo script fa tutto lui. Altrimenti prova con 50-100MB.

Il concetto è che aggiungi uno swap in ram compresso. Invece che swappare su disco, vai di ram.
Praticamente "aumenta" la RAM comprimendone una parte.

La cosa migliore è provare.
Non serve metter mano subito al sistema. Puoi anche solo installare il pacchetto, caricare il modulo ed eseguire i comandi indicati. Hai subito il nuovo spazio aggiunto.

Citazione
While trying to optimize the elementary OS performance, Sergey Davidoff stumbled upon a project called compcache that creates a RAM based block device which acts as a swap disk, but is compressed and stored in memory instead of swap disk (which is slow), allowing very fast I/O and increasing the amount of memory available before the system starts swapping to disk. compcache was later re-written under the name zRam and is now integrated into the Linux kernel

Offline pessott

  • *
  • Post: 69
  • Reputazione: 2
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #4 il: 31 Agosto 2012 ore 19:14 »
scusa ma c'e' qualcosa che non va, ottengo degli errori:

allora pacman -S zramswap --- OK

sudo modprobe zram ---- OK

Codice: [Seleziona]
alessio% sudo echo $((50*1024*1024)) > /sys/block/zram0/disksize
zsh: permesso negato: /sys/block/zram0/disksize

Se c'e' soluzione, perchè ti preoccupi?

Se non c'e' soluzione, perchè ti preoccupi?

Offline pessott

  • *
  • Post: 69
  • Reputazione: 2
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #5 il: 31 Agosto 2012 ore 19:23 »
ok il file l'ho editato manualmente con nano... non so perchè anche da su mi dava permesse negato usando echo...  ???

sembra funzionare tutto.... lo provo per un po' con 150MB (su 2gb di ram) e vediamo come va...
Se c'e' soluzione, perchè ti preoccupi?

Se non c'e' soluzione, perchè ti preoccupi?

Offline andreazube

  • *
  • Post: 1595
  • Reputazione: 64
  • I AM THE INTERSECT
    • Mostra profilo
    • Lupo mannaro
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #6 il: 19 Settembre 2012 ore 21:11 »
Con 256mb di ram può servire?

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #7 il: 19 Settembre 2012 ore 22:45 »
Sono proprio pochini ... In ogni caso ci sarebbe da provare.

Fra l'altro lo script che ho postato è molto aggressivo, su 2GB crea circa 900MB di swap!

Offline dongongo

  • *
  • Post: 445
  • Reputazione: 16
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #8 il: 06 Ottobre 2012 ore 10:30 »
Grazie Dino! Leggo ora dello script! È da provare! :)



Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #9 il: 17 Ottobre 2012 ore 19:29 »
AAA aiuto cercasi

In vista del prossimo passaggio a systemd, alcuni punti della guida vanno aggiornati.

Per abilitare il demone zram, basterà dare il seguente comando:
Codice: [Seleziona]
sudo systemctl enable zramswap.service
Ma come si fa per utilizzare invece lo script (vedi secondo post della guida) che lanciavo come demone??? Qualcuno ha idea?
Farò qualche ricerca nel frattempo...

=============

sembra che il pacchetto zRam di Chakra sia anni luce avanti a quello in Aur.
Il servizio zram.service mi sa che contiene di già lo script!!
http://gitorious.org/chakra-packages/apps/blobs/testing/zramswap/zramstart

Basterà quindi far partire il servizio per avere già una configurazione ottimale!!  ;D ;D ;D
« Ultima modifica: 17 Ottobre 2012 ore 19:34 da dinolib »

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #10 il: 17 Ottobre 2012 ore 19:36 »
Che faccio, al passaggio di systemd edito la  guida e all'inizio metto le nuove istruzioni, rendendo obsoleta la vecchia parte?

Offline andreazube

  • *
  • Post: 1595
  • Reputazione: 64
  • I AM THE INTERSECT
    • Mostra profilo
    • Lupo mannaro
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #11 il: 17 Ottobre 2012 ore 19:42 »
Che faccio, al passaggio di systemd edito la  guida e all'inizio metto le nuove istruzioni, rendendo obsoleta la vecchia parte?
Secondo me è meglio se scrivi subito adesso [obsoleta]:ultimamente stanno arrivando diversi nuovi utenti,non vorrei che seguissero una guida "fallata" a qualche giorno dall'aggiornamento.
Io grazie al cielo ho già fatto quella aggiornata per e4rat,evidentemente ho anticipato solo di qualche giorno la notizia ufficiale  :)

Offline dongongo

  • *
  • Post: 445
  • Reputazione: 16
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #12 il: 17 Ottobre 2012 ore 20:01 »
Cavolo. Volevo proprio provarla, ma io ho Arch... >:(



Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:[GUIDA] ZRam: sfruttiamo al meglio la memoria per sistemi sotto-dotati
« Risposta #13 il: 17 Ottobre 2012 ore 20:47 »
Cavolo. Volevo proprio provarla, ma io ho Arch... >:(
Beh... puoi sempre scaricarti il PKGBUILD ed installartelo!

 

Template by Homey | Sito ufficiale | Disclaimer