>
MENU

Gestione dei file da terminale (6/6)

logo_qcad.jpg

QCad: Open Source per i professionisti della progettazione

28 settembre 2007 Visualizzazioni: 536 Focus

Due gigabyte di ram anche su Linux 32-bit

Con Linux tutto è possibile e per assurdo succede che su macchine abbastanza potenti, con 2 o 4 gigabyte di Ram, si possano riscontrare dei problemi. Quando utilizzate sistemi GNU/Linux a 32 bit, la ram in sovrappiù, ossia quella superiore ad un gigabyte, non viene utilizzata. Linux a 32-bit ne utilizza infatti meno della metà. Vediamo come risolvere il problema.


Per ovviare a questo problema occorre modificare il kernel con pochi ma essenziali parametri.

Precisiamo che il problema è dovuto al fatto che il kernel Linux 32-bit è stato progettato per accedere di default soltanto ad 1 GB di Ram. Quindi cambiando parametri al kernel è possibile permettere l’accesso completo a più di 4 GB.

Tuttavia, molte distribuzioni hanno già abilitato l’accesso a memorie fino a 4 GB. Parliamo di distribuzioni come Ubuntu, dalla versione 6.10 in poi, e Fedora, dalla 7. Nella vostra workstation potete controllare, fin da ora, se utilizzare o meno tutta la ram presente, lanciando il comando:

free -m

L’output dovrebbe essere qualcosa di simile a questo:

total used free shared buffers cached
Mem: 1233 765 467 0 89 379
-/+ buffers/cache: 296 936
Swap: 501 0 501

E’ facile notare come l’output mostri la quantità totale di ram inutilizzata, la dimensione del file di swap in megabyte e altri parametri che per il momento non ci interessano. Se il totale fosse meno di 1 GB e voi siete sicuri di avere 1,5 GB installati, allora avete bisogno di installare/modificare il kernel (non è il caso dell’output di esempio mostrato sopra).

In qualche distribuzione si può aggiungere un kernel generico secondo le esigenze del momento. Per esempio, in Debian usate il comando apt-cache search per localizzare la linux-image-generic kernel più recente per processori 686 se volete il supporto per più di 4 gigabytes. Invece per più di 64 gigabyte, cercate un kernel che finisca con 686-bigmen.

Se sfortunatamente la vostra distribuzione non include un kernel generico, allora occorre armarsi di tanta pazienza e compilare un kernel personalizzato. Consigliamo di consultare, prima di effettuare qualsiasi operazione, la documentazione allegata alla propria distribuzione inerente la compilazione del kernel. Tuttavia, abilitare il supporto a più di 1 GB di Ram riguarda solamente 5 parametri nella parte Firmware Drivers:

  • accertatevi che CONFIG_NOHIGHMEM non sia già settato;
  • impostate CONFIG_HIGHMEM4G o CONFIG_HIGHMEM64G a yes, a seconda della ram installata localmente;
  • impostate CONFIG_HIGHMEM a yes;
  • se volete loggare eventuali messaggi di errore configurate CONFIG_DEBUG_HIGHMEM a yes.

Compilate il resto del kernel e installatelo nel menu del boot manager. Per i dettagli di questa operazione consultate sempre la documentazione al riguardo.

Ora al prossimo riavvio del sistema lanciate di nuovo da terminale free -m. Questa volta il risultato riporterà in pieno l’attuale quantità di ram installata.

di Francesco Brocani - TuxJournal.net

twittergoogle_pluslinkedinmail
  • cfr

    Su ubuntu credo sia abilitato di default

  • Di ME

    scusa ma che distro usi? redhat 4.0???? le distribuzioni linux hanno kernel che di default usano fino a 4 giga di ram da anni e anni, e negli stessi supporti di installazione trovi sempre anche le versioni precompilate di kernel bigsmp con limite a 64 giga!

  • gsp

    Ma infatti, che distro usi? E' un discorso tritto e ritritto da anni.
    Sono secoli che le distro attuali oramai usano di default kernel con abilitato il supporto fino ai 4GB.

    gp

  • Ponzio

    Su una architettura a 32 bit in modalità protetta, la RAM viene acceduta tramite indirizzi Seg:Offset la cui componente Offset è un valore a 32 bit; con 32 bit possiamo rappresentare un qualunque Offset compreso tra 0 e 2^32-1 e cioè, tra 0 e 4294967295 per un totale di 4294967296 byte di RAM.

    Ora, 4294967296 byte = 4 * 1024 * 1024 * 1024 byte = 4 Gb

  • Ponzio

    … probabilmente l'autore dell'articolo intendeva riferirsi a sistemi a 32 bit con più di 4 Gb di RAM …

  • vac

    In ogni caso è ora di passare ai 64 bit !