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

Wayland la nuova era del server grafico

Wayland il moderno server grafico

Wayland è il moderno server grafico, rispetto all’oramai obsoleto X11, creato da Kristian Høgsberg.

La differenza con il vecchio sistema X11 stà, oltre che nelle prestazioni, anche in un maggiore numero di estenzioni del protocolo X11 e una maggiore pulizia ed ordinamento delle API rispetto a quelle di X.org.

Con l’ uscita della versione stabile la 1.0 ci sarà, entro alcuni mesi, la possibilità di vederlo come server grafico predefinito nella maggiori distribuzioni GNU/Linux, prima tra tutte Fedora.

Gli sviluppatori di Gnome stanno lavorando per integrare Wayland con le Gtk+3 mentre con la prossima uscita delle librerie Qt5 prevista per questo dicembre tutte le applicazioni Kde saranno nativamente compatibili con Wayland.

A differenza, del server X che faceva da filtro tra le applicazioni e il motore grafico (compositor), Wayland interagisce direttamente col kernel e tutte le librerie contenute (KMS, evdev, mesa, fontconfig, FreeType, Cairo, Qt, ecc.) diventando di fatto il motore grafico eliminando così un passaggio.

Per avere un idea chiara del funzionamento di Wayland visitare:

http://wayland.freedesktop.org/architecture.html

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

Archlinux e pyvolwheel

Ultimamente per chi utilizza Archlinux le cose sono un pò cambiate.
Il file rc.conf è stato decentralizzato, adesso i moduli è preferibile caricarli dalla cartella /etc/modules-load.d/.
La cartella logicamente risulterà vuota starà a noi inserire i files corrispondenti hai moduli da caricare all’avvio.
In precendenza avevo scritto un articolo pyvolwheel Error: file o directory non esistente: ‘/dev/mixer’ per correggere l’errore e per far funziona pyvolwheel bastava inserire il modulo snd-mixer-oss nella sezione MODULES() nel file rc.conf, ma come detto in precendenza, adesso la soluzione migliore è crearsi un file snd-mixer-oss.conf nella cartella /etc/modules-load.d/ per caricarlo.
La procedura è semplice basta aprire un terminale da ammonistratore e dare il seguente comando

nano /etc/modules-load.d/snd-mixer-oss.conf

inserire questa 2 righe:

# carica il modulo snd-mixer-oss.ko all’avvio del sistema
snd-mixer-oss

salvare il file premendo contemporaneamente i tasti CRTL e O premere il tasto INVIO per confermare ed uscire premendo i tasti CTRL e X
a questo punto potete togliere snd-mixer-oss da MODULES() in rc.conf e consiglio di dare una letta al manuale di rc.conf

man rc.conf

Aiuto! Archlinux ha eliminato l’installatore grafico

Con l’uscita della versione Arch Linux 2012.07.15 molti utente si sono trovati spiazzati.
Dalla nuova versione è stato rimosso ArchLinux Installation Framework l’installatore grafico di Archlinux per ovviare a questo piccolo inconveniente una della soluzione è provare Archboot.

Archboot vi permetterà di installare Archlinux tramite un installatore grafico, inoltre ci dà la possibilità di installare Archlinux con il kernel LTS anche su supporti esterni come ad esempio una in penna USB, ci permette la gestione della console e il supporto per raid, dmraid e lvm2 e molto altro ancora.

Archboot fino ad oggi viene rilasciata con la ISO aggiornata al giugno 2012 e per questo motivo volta installata avremo il problema di dipendenze con le librerie glib, tale problema comunque è risolvibile nel seguente modo.

Per ArchLinux a 32 bit eseguire questo comando da amministratore:

pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-i686.pkg.tar.xz

Per ArchLinux a 64 bit eseguire questo comando da amministratore:

pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-x86_64.pkg.tar.xz

poi digitiamo:

rm /etc/profile.d/locale.sh

e di seguito, sempre come amministratore, il comando:

pacman -Su --ignore glibc

a questo punto possiamo effettuare l’aggiornamento della distribuzione.
Finito l’aggiornamento basta dare comando da amministratore:

pacman -Su

questa volta aggiorneremo anche glibc ed avremo la nostra Arch Linux perfettamente aggiornata.

Per maggiori informazioni consiglio di consultare la pagina dedicata nel wiki di Arch Linux.

Per chi si è ritrovato il sistema inutilizzabile, una soluzione è montare la partizione su cui è installata la Archlinux con un live cd o con qualsiasi altra distribuzione installata sul nostro disco fisso con il comando:

mount /dev/sdaX /mnt

dove la X và sostituita con il numero della partizione root nella quale è installata la nostra Archlinux.
Spostarsi nella cartella mnt con il comando:

cd /mnt

e dare i seguenti 3 comandi:

cp -ar lib/* usr/lib/ && rm -rf lib && ln -s usr/lib lib

Con questi comandi per prima cosa copiamo i files della cartella lib nella cartella /usr/lib (cp -ar lib/* usr/lib/), rimuovono la vecchia cartella lib (rm -rf lib) e per ultimo si crea un collegamento simbolico lib che rimanda alla cartella /usr/lib (ln -s usr/lib lib).
I simboli && servono solo per concatenare i vari comandi.

Per maggiori informazioni su Archboot consiglio di consultare la pagina dedicata dal wiki di Arch Linux in inglese.

Per scaricare le ISO potete visitare il sito mirrors.prometeus.net