In Linux, quando si installa un sistema su di un bellissimo hard disk nuovo di zecca, si nota che il disco in questione è stato partizionato in una parte primaria – dove ci stanno dati, boot e altro – e una parte di swap.

Name Flags Part Type FS Type [Label] Size (MB)

sda1 Primary Linux ext3 60003.42
sda2 Boot Primary Linux ext3 [idrogeno] 98999.48
sda3 Primary Linux swap / Solaris 1036.39

Ma cos’è la swap partition?
Una utile guida mi viene in aiuto: Linux Partition HOWTO, di Anthony Lissot version 3.5, 30 Nov 2005, (basata sulla guida di Kristian Koehntopp del 1997)

Ogni processo funzionante sul nostro computer è localizzato in un numero di blocchi nella RAM. Questi blocchi sono chiamati pages. Il set di istruzioni che andrà presto in uso è detto working set; Linux prova a predire questi accessi alla memoria (assumendo che le pages usate di recente siano usate anche nel prossimo futuro) e tiene queste pages nella RAM, se possibile.

In Linux, RAM e spazio swap si sommano (non è vero per tutti gli Unix). In sostanza: 256 Mb di RAM + 256 Mb di swap fanno un totale di 512 Mb di memoria virtuale.

Se ci sono troppi processi avviati sulla box, il kernel tenterà di liberare RAM scrivendo le pages sul disco: questa è la ragione per cui esiste lo spazio di swap; in effetti esso incrementa l’ammontare di memoria disponibile – è necessario comunque ricordare che l’I/O del disco è centinaia di volte più lento della RAM. (Insomma, la memoria è di emergenza, e non un’extra.)

Se la memoria diventa così scarsa che il kernel va a leggere i processi (working set) sul disco, la box comincia a rallentare enormemente e il disco viene letto in maniera molto insistente.

idrogeno:~# nmap -O 192.168.0.0/24

Starting Nmap 4.53 ( http://insecure.org ) at 2008-02-08 21:54 CET

Interesting ports on idrogeno (192.168.0.1):
Running: Linux 2.6.X
OS details: Linux 2.6.22 – 2.6.23

Uptime: 6.947 days (since Fri Feb  1 23:10:31 2008)
Network Distance: 0 hops

Interesting ports on [elio] 192.168.0.2:
Running: Microsoft Windows XP
OS details: Microsoft Windows XP SP2

Network Distance: 1 hop

Interesting ports on [radon] 192.168.0.3:
Running: FreeBSD 6.X
OS details: FreeBSD 6.2-STABLE – 6.3-PRERELEASE

Uptime: 0.009 days (since Fri Feb  8 21:42:34 2008)
Network Distance: 1 hop

Nmap done: 256 IP addresses (3 hosts up) scanned in 24.720 seconds

    Next Articles »
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.