Velocizzare la nostra distribuzione GNU/Linux con lo Swappiness Tuning

Happy swappiness

La partizione di swap non è altro che un file.
Logicamente scrivere un file nella partizione swap risulta molto più lento che scriverlo direttamente nella memoria RAM.
Lo swap file viene controllato e gestito da una variabile del kernel chiamata “swappiness”.
Questa variabile può avere un valore da 0 a 100.
Per conoscere il valore attuale basta lanciare da terminale il comando:

cat /proc/sys/vm/swappiness

Il valore predefinito dovrebbe essere 60.
Quanto più il valore della variabile swappiness è alto, maggiore sarà la probabilità di scrivere i dati sulla partizione di swap.
Un modo per ottenere delle prestazioni migliori, consiste nel diminuire il valore di questa variabile.
Per modificare tale valore basta lanciare da terminale di amministratore il comando:

sysctl -w vm.swappiness=10

questa operazione tuttavia non rende definitiva la modifica quindi al riavvio del sistema il valore ritornerà a 60.
Per rendere definitiva la modifica bisogna editare, sempre tramite il terminale di amministratore, il file sysctl.conf

nano /etc/sysctl.conf

ed aggiungere la riga vm.swappiness=10 alle fine del file.
Ottenendo all’incirca questo schema

#
# Kernel sysctl configuration
#

# Disable packet forwarding
net.ipv4.ip_forward=0

# Disable the magic-sysrq key (console security issues)
kernel.sysrq = 0

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1

vm.swappiness=10

Premere contemporaneamente i tasti CTRL + O per salvare il file e CTRL + X per uscire da nano.
C’è chi consiglia addirittura di impostare il valore vm.swappiness a 0 il mio consiglio invece è quello di provare prima con un valore di 10 e di eseguire questa operazione con macchine che hanno almeno un 1Gb di RAM.
L’ aumento delle prestazioni si noterà soprattutto nei computer datati.

*** ATTENZIONE ***

A partire dalla versione 207 di Systemd le impostazioni lette da /etc/sysctl.conf non saranno più valide.
Systemd applicherà solo quelle lette nei files della cartella /etc/sysctl.d/

Con l’aggiornamento di procps-ng-3.3.8-3, bisognerà muovere e rinominare il file /etc/sysctl.conf e posizionarlo nella cartella /etc/sysctl.d/
per farlo basta lanciare, sempre da un terminale di amministratore, il comando:

mv /etc/sysctl.conf.pacsave /etc/sysctl.d/99-sysctl.conf

Ubuntu: visualizzare le anteprime dei files Xfc con Nautilus

Chi utilizza Gimp conosce bene i files Xfc.
Per prima cosa installiamo il pacchetto gnome-xcf-thumbnailer aprendo un terminale da amministratore e lanciamo il comando:

apt-get install gnome-xcf-thumbnailer

poi, sempre da amministratore, bisognerà creare la cartella thumbnailers con il comando:

mkdir -p /usr/share/thumbnailers/

all’interno di questa cartella andrà creato un file gnome-xcf.thumbnailer contenente i seguenti comandi

[Thumbnailer Entry]
TryExec=gnome-xcf-thumbnailer
Exec=gnome-xcf-thumbnailer %i %o
MimeType=image/x-xcf;image/x-compressed-xcf;

per creare questo file potete utilizzare un semplice editor di files come Gedit, Scite, Mousepad… oppure Nano

per ultimo bisognerà eliminare le anteprime dalla cache

rm -r ~/.thumbnails/fail && rm -r ~/.cache/thumbnails/fail

Firefox 15 come visualizzare i files PDF

Una novità di Mozilla Firefox 15 è la possibilità di visualizzare i files pdf direttamente all’interno del programma.

Per poterlo fare però bisognerà effettuare delle modifiche al programma.

Per prima cosa avviare Firefox e nella barra degli indirizzi digitare about:config (nella barra degli indirizzi e NON in quella della ricerca) e premere il tasto INVIO.

Si aprirà una pagina particolare nella quale è presente un pulsante con scritto Farò attenzione, prometto cliccare 1 volta sul pulsante col il tasto sinistro del mouse (per chi ha i tasti inverti col il tasto destro).

Firefox

La schermata successiva conterrà moltissime voci, a questo punto, bisognerà cercare la voce pdfjs.disabled.

Per farlo scrivere, nella barra, dove a sinistra c’è scritto Cerca, la parola pdfjs.disabled se non vi dà alcun risultato dobbiamo crearla.

Cliccare col il tasto destro (per chi ha i tasti inverti col il tasto sinistro) al centro della pagina o in un qualsiasi spazio vuoto, selezionare Nuovo -> Booleano e scrivere pdfjs.disabled e dare invio a questo punto cliccare 2 volte col il tasto sinistro del mouse (per chi ha i tasti inverti col il tasto destro) sulla nuova chiave creata in modo che assuma il valore false e riavviare Firefox se volete fare una prova.

Aggiungere la Swap a mano

Sul mio vecchio portatile, per motivi di spazio, non ho creato la partizione di swap pensando che i 512mb di RAM bastassero.
All’ atto pratico avviando alcuni programmi (che non scrivo per non creare guerre filosofiche) la memoria si satura ed il sistema si riavvia.

Aggiungere un bancale di memoria non è possibile, riformattare il disco non mi sembra proprio il caso, cosa fare?

Come già descritto la partizione swap non è altro che un file e per questo motivo è possibile creare un file che serva proprio per eseguire le stesse operazioni della partizione swap, per esempio per aggiungere 512mb, al sistema, basterà aprire un terminale da amministratore e dare il comando:

dd if=/dev/zero of=/var/tmp/swapfile bs=1024 count=524288

dove il comando dd if=/dev/zero of=/var/tmp/swapfile, per semplificare, crea un file vuoto nella cartella /var/tmp l’ opzione bs=1024 permette di leggere e scrivere 1024bytes al tempo stesso e l’opzione count=524288 dà la dimenzione al file swapfile di 512mb.

Adesso si dovrà impostare la swap e farla puntare sul file /var/tmp/swapfile sempre da terminale d’ amministratore digitare il comando:

mkswap /var/tmp/swapfile

per motivi di sicurezza bisognerà impostare i permessi sul file creato con i comandi:

chown root:root /var/tmp/swapfile
chmod 0600 /var/tmp/swapfile

solamente l’ utente root può leggere e scrivere il file.

Adesso attiviamo la partizione swap col comando:

swapon /var/tmp/swapfile

per rendere effettiva questa modifica bisognerà inserire nel file /etc/fstab la seguente stringa

/var/tmp/swapfile swap swap defaults 0 0

per vedere se tutto è andato a buon fine digitare:

swapon -s

Alla scoperta di JWM

Dopo aver letto che Debian cambierà il suo ambiente grafico passando da Gnome ad Xfce per motivi di spazio, mi sono messo alla ricerca di un ambiente grafico minimale.

Navigando nel Wiki Archlinux mi sono imbattuto in JWM

JWM (Joe’s Window Manager) è scritto in C usa all’incirca 5 MB di memoria in condizioni operative normali.
La dimensione della versione presente nei repository ufficiali di Arch Linux è inferiore ai 76 KB (confronto con Dwm che è sotto i 17 KB) e sotto i 171 KB una volta installato (confronto con Dwm che occupa 68 KB).
Una versione minimale compilata consuma approssimativamente 136 KB di spazio su disco e occupa al di sotto di 1500 KB di memoria ram.
Sebbene lo sviluppo di JWM abbia rallentato un po’, Joe Wingbermuehle continua a lavorarci….

Jwm ha una barra che può essere posizionata sia orizzontalmente che verticalmente, i menu interamente configurabili, l’orologio, i desktop vituali, una taskbar… il tutto configurabile tramite un semplice file XML

L’installazione è semplice, per gli arcieri dal terminale d’amministratore basta eseguire questo comando:

pacman -S jwm

per Debian e derivate invece:

apt-get install jwm

per chi volesse può anche conpilarsi il pacchetto manualmente.

Per poterlo avviare come ambiente grafico predefinito bisognerà inserire il comando nel file .xinitrc quindi utente normale basterà aprire un terminale ed eseguire:

nano ~/.xinitrc

vi mostro una parte del mio file in rosso le parole da modificare

DEFAULT_SESSION=jwm
case $1 in
openbox)
## se si usa Slim ck-launch-session non va messo
exec dbus-launch openbox-session
;;
*)
## se si usa Slim ck-launch-session non va messo
exec dbus-launch $DEFAULT_SESSION
;;
esac

a questo punto bisognerà andare a modificare anche il file di configurazione di Slim oppure del vostro gestore di accessi: Grub, LightDM… per semplicità vi descrivo come modificare slim.conf

da terminale di amministratore:

nano /etc/slim.conf

trovate la riga

sessions openbox,razor-qt,dwm,xfce4

ed aggiungete jwm

sessions jwm,openbox,razor-qt,dwm,xfce4

salvate il file con premendo i tasti CTRL + O confermate con INVIO ed uscite CTRL + X.

Adesso non vi rimane che copiarvi il file di configurazione di Jwm aprite un terminale da utente normale e date il comando:

cp -i /etc/system.jwmrc ~/.jwmrc

per le modifche potete leggervi la guida http://joewing.net/programs/jwm/config.shtml che purtroppo è solo in inglese oppure la guida da https://wiki.archlinux.org/index.php/JWM_%28Italiano.