Oracle, Linux e Performance Tuning

mercoledì 13 giugno 2007 alle 13:18 | Pubblicato su Linux, Performance Tuning | 5 commenti

Ho il dubbio di aver gia intitolato un mio post come questo, ad ogni modo il contenuto vuole essere quello quindi così rimane. Oggi dando la solita occhiata allo USENET group cdos ho trovato un thread in cui si facevano i complimenti all’autore di un articolo. In realtà l’OP (così pare si chiamino le persone che aprono nuovi thread su un gruppo di discussione) faceva riferimento ad un indirizzo dove l’articolo si poteva comprare, per fortuna una seconda persona è intervenuta aggiungendo il link all’articolo disponibile su internet. L’autore dell’articolo, Mladen Gogala (qui c’è il suo CV) è comparso su gruppo USENET CDOS il 5 Aprile con un thread molto polemico nei confronti di Steve Adams, moderatore della lista di discussione di oracle su freelist.org. I suoi interventi successivi hanno spesso confermato la sua competenza mostrata dal suo CV, ma anche spesso evidenziato un carattere piuttosto polemico e scontroso. Ho trovato poco gentili certi interventi e soprattutto evitabili. D’altronde, da un lato credo di cominciare a diventare saggio, dall’altro credo sia utile far si che non prolifichino sul newsgroup domande sciocche fatte da persone pigre che non fanno neppure una piccola ricerca su google prima di fare le domande.

In ogni caso, tornando al tema ispiratore di questo post, l’articolo di Mladen Gogala tratta l’analisi di problemi con il sistema di gestione della memoria virtuale (VM) su Linux con kernel 2.6. L’argomento è molto tecnico, ma trattato bene nell’articolo e reso quindi più interessante. Ora per punti riporto le mie considerazioni sulle parti che più mi hanno interessato.

Algoritmo di gestione della memoria virtuale

Nell’articolo si descrive sinteticamente qual’è l’algoritmo di gestione della memoria virtuale implementato nel kernel 2.6 di Linux; l’algoritmo viene chiamato “two handed clock” e da come descritto nell’articolo pare più semplice di quanto io pensassi. Un processo dedicato, chiamato “page update daemon” o pdflush, passa tutte le pagine che potrebbero essere passate su disco (eligible, quindi quelle non correntemente usate) e setta sull’intestazione della pagina il bit “in uso” a 0. Il processo poi si mette in attesa, dopo un periodo di tempo determinato da un parametro di configurazione (viene descritto insieme ad altri parametri in un secondo momento) il processo si riattiva e passa su disco le pagine con il bit “in uso” a 0.

Strumenti di analisi di sistema in Linux

Linux offre strumenti standard, quali top, sar, vmstat e iostat che permettono di monitorare il sistema in modo globale. L’autore dell’articolo spiega come nel Kernel di linux sia assente la misurazione delle statistiche a livello di singolo processo. Ciò rende più difficile identificare un processo causa di particolari problemi tipo sovraccarico dell’I/O o della memoria virtuale. Mladen Gogala allora descrive un programma, chiamato “atop” che permette di fare delle analisi di sistema fino a livello di singolo processo. Il problema, non banale, è che per fare ciò tale programma richiede l’applicazione di una patch al kernel, così che questi raccoglie le statistiche necessarie. La cosa non è banale, anzi, se io compro SuSE SLES9 lo faccio per avere assistenza, altrimenti uso qualche distrubuzione gratuita, ma se io applico al kernel una patch non fornita da Novell perdo tale assistenza. Quindi, non avendo trovato traccia di questa applicazione tra le applicazioni fornite con Suse SLES10 (per fare un esempio, non so se Red Hat lo offre) trovo difficile poterlo utilizzare su un sistema di produzione, dove dovrebbe servire.

Quindi devo ammettere che in questo c’è una carenza di Linux, almeno di Suse Entrerprise Server Linux, che ho provato, in quanto carente di uno strumento di analisi e diagnosi del sistema. In ogni caso l’articolo rimane interessante perchè dopo aver descritto a grandi linee il funzionamento della memoria virtuale in Linux, da una guida all’utilizzo di “sar” .

Un’altro dubbio che la parte finale dell’articolo ha fatto sorgere in me è la differenza tra Swapping e “page replacement, page stealing, page freeing”. Mladen dice che lo swap è il salvataggio nell’area di Swap dell’intero spazio di indirizzamento di un processo che avviene solo in condizioni di scarsa memoria libera. Ma le pagine che vengono salvate su disco come descritto in un primo momento, dove vengono salvate? nella swap?

P.S.

Ho fatto un piccola ricerca su google per approfondire l’argomento visti i miei dubbi esposti sopra, riporto dei link secondo me interessanti (non ho letto tutto ma solo dato una rapida occhiata):

Da non dimenticare i manuali di Red-Hat disponibili on-line

5 commenti »

RSS feed for comments on this post. TrackBack URI

  1. […] Archivio ← Oracle, Linux e Performance Tuning […]

  2. è della scuderia di Donald Burleson, bella roba, complimenti davvero.
    A me non pare niente di speciale se non uno malato di manie di protagonismo, avete mai letto i suoi posts?
    Ma cerchiamo di essere seri, vah🙂

  3. A dire il vero oramai co i nuovi kernel il problema è risolto, basta usare una buona Debian 4 ed il pacchetto con tutte le dipendenze etc etc se lo scarica direttamente dal mirror !!! senza dover nemmeno patchare kernel etc etc ( è la bellezza della distruzioni debian based (Debian-Ubuntu-Knoppix!!)…Ciao

  4. dimenitcavo per meglio specificare, i paccheti presenti nei mirro Debian sono i seguenti : 1) atop, 2) kernel-patch-atopacct , 3) kernel-patch-atopcnt

    quindi basta fare un bel apt-get install nomepachhetto, oppure instalalrli da Synaptic e tutto funge !!!

  5. […] di cristiancudizio Stamattina ho trovato un commento a un mio post del 13 Giugno 2007, intitolato Oracle, Linux e Performance Tuning“. Stavo rispondendo al commento quando mi sono reso conto che la mia replica meritava un post […]


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: