Bij mijn weten is swap bedoeld als een virtuele uitbreiding van het werkgeheugen: als het werkgeheugen vol raakt dan kun je gegevens die even niet nodig zijn uit het geheugen naar de harde schijf ‘swappen’.
Stel echter dat je eerst je hele geheugen vol laat lopen en dat je dan een relatief zwaar programma start, dan moet er eerst geheugen vrijgemaakt worden voor dat programma, wat weer extra tijd kost. Je OS anticipeert hier op door van te voren al wat geheugen vrij te maken, door niet benodigde data naar de harde schijf te swappen. Op deze manier is er dus altijd wat geheugen vrij: dat is zelfs de bedoeling.
Een tweede reden waarom een deel van je geheugen ‘ongebruikt’ is, is dat Linux het ook als cache gebruikt: bestanden die veel nodig zijn worden tijdelijk in het geheugen opgeslagen, maar dit wordt niet meegerekend in het geheugengebruik—overigens laat de System Monitor-applet ook dit cache zien, en dat maakt best uit voor het hele plaatje.
Kortom: het is normaal dat Linux niet je geheugen laat volstromen, ga daar vooral niet te veel aan sleutelen, want daar wordt je systeem alleen maar langzamer van.
Voor meer info kun je nog op swappiness googelen, ‘swappiness’ is een maat voor hoe graag Linux van je geheugen naar de harde schijf swapt.