Vmware Esx o Server: Ottimizzare il guest Linux

2010
06.09

Capita sovente di sentire e/o vedere che le installazioni dei sistemi operativi sono lasciati allo stato impostato dall’installer del brand che si utilizza: redhat, debian, suse etc. Il problema con le impostazioni di default è che non si ottiene mai il massimo specie se ospitato in ambiente virtuale. La mia esperienza mi ha portato a modificare i seguenti valori:

Il kernel di Linux si porta in dote diversi algoritmi per lo scheduler  dell‘IO. Quello predefinito è il CFQ. Il cfq si adatta a tutti i carichi di lavoro ma non è il migliore in ogni situazione occorre dunque fare delle prove per trovare, fra quelli disponibili, il migliore. Nell’ambiente Virtuale la macchine ospite utilizza un driver generico per l’accesso al disco e dunque non è in grado di ottimizzare le letture/scritture. Affidiamo dunque il compito di decidere come e quando eseguire tali operazioni all’hypervisor. Vediamo come.

Aggiungere ai parametri di boot:

  • noapic nolapic acpi=off clocksource=acpi_pm elevator=noop

l’ultimo parametro: elevator=noop è molto importante fa si che lo scheduler venga disattivato (o quanto meno non ottimizzi le richieste ma le mette solo in coda cosi come arrivano).  Affinchè tali parametri vengano interpretati occorre fare il reboot del sistema.

Nel prossimo paragrafo vediamo come ottimizzare l’utilizzo del RAM fisica e dello SWAP. Di norma il kernel quando la ram inizia a riempirsi e vi sono programmi che non la utilizzano “molto spesso” trasferisce tale contenuto nello SWAP. Tale meccanismo è governato da un parametro: vm.swappiness. Il valore predefinito (quantomeno sulle redhat e derivate) è 60 ovvero al raggiungimento del 60% di utilizzo della ram il kernel è “libero” di spostarne il contenuto. Modifichiamolo:

in /etc/sysctl.conf aggiungere o modificare i valori (effettuate un backup  con sysctl -a> /path/sysctl.backup.conf prima delle modifiche):

  • vm.swappiness = 10 # Provare con valori fino allo 0
  • vm.overcommit_memory = 1
  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 10
  • vm.dirty_expire_centisecs = 1000
  • dev.rtc.max-user-freq = 1024

eseguire il comando: sysctl -p per eseguire le modifiche.

Ovviamente fate delle prove prima di effettuare le modifiche in produzione.

Riferimenti:

happy birthday

2009
10.07

happy birthday

ecco perchè non uso Google Chrome

2009
06.29

Google Chrome è un browser multipiattaforma, elegante, veloce, robusto, sicuro e potrei aggiungere milte altri aggettivi ma manca di una caratteristica, a parer mio, fondamentale: i plugin o meglio i plugin di Firefox. Non riesco ad usare un browser che non mi dia la possibilità di rimuovere la pubblicità o rimuovere qualsiasi altro pezzo che reputo superfluo o poco sicuro. E dunque aspetto la terza release di Chrome, intanto uso ed invito ad usare Firefox 3.5, e faccio un accorato appello agli sviluppatori di Google affinchè rendano il loro bellissimo software compatibile con i plugin di Firefox!

microsoft sempre più odiosa

2009
06.01

al riavvio di uindous, dopo l’ennesimo aggiornamento, firefox mi dice che un nuovo plugin è stato installato,
meravigliato della cosa ho controllato è con stupore ho trovato:

dnet-addon

notare che non è possibile rimuoverlo (qui le istruzioni per aggirare il problema) perchè i furboni hanno
disattivato il disinstalla. Ora mi chiedo ma cos’altro installano quelli di microsoft senza avvisare?
non sarebbe stato più semplice chiederlo?

Hello world!

2009
05.30

Benvenuti, a presto semplici conoscenti!


Switch to our mobile site