Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Server gebruikt teveel swap en te weinig geheugen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een raar probleem. Ik heb een dual quadcore xeon server met 16GB geheugen. Normaliter gebruikte Cent0s al het geheugen en ging daarna een swapfile aanmaken.

Sinds een paar weken viel het mij op dat de load van gemiddeld 1 naar tussen de 3 en 4 was gegaan, nu heb ik wel een 2-tal websites draaien die redelijk wat bezoekers trekken maar voorheen was de load niet zo hoog.

Nu blijkt ineens dat van de 16GB geheugen er maar 3.2GB wordt gebruikt en ik ineens een swapfile van 17GB heb..

Mijn vraag is dan ook.. hoe kan ik dit veranderen/oplossen zodat er weer de volle 16GB geheugen wordt gebruikt en niet een swapfile wordt aangemaakt.

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 10:42

CAPSLOCK2000

zie teletekst pagina 888

Linux gaat pas serieus swappen als het RAM op is. Als je 16GB swap hebt dan zat je RAM dus ooit vol. Waarschijnlijk is er een proces uit z'n dak gegaan dat al je RAM heeft gevuld en de rest van je systeem de swap in heeft gedrukt. Daarna is dat proces gecrasht omdat het nog meer dan 16GB wilde hebben en toen door de kernel is doodgeschoten. Daarmee is je RAM weer vrijgekomen. Zodra er iets uit swap nodig is dan zal Linux het weer in RAM plaatsen maar dat is wel langzaam. Uiteindelijk zal het vanzelf wel goed komen maar het kan best lang duren. Je kan een handje helpen door tijdelijk swap uit te schakelen, dan zal Linux zo snel mogelijk alles van swap naar ram verplaatsen. Je doet dit met 'swapoff -a'. Vergeet niet je swap daarna weer aan te zetten met 'swapon -a'. 16GB swap vind ik overigens erg veel. Als je daadwerkelijk 16GB swap gaat gebruiken wordt alles dramatisch traag. De oude vuistregel van 1x - 2x je RAM komt uit een tijd dat het snelheidsverschil tussen HD en RAM veel kleiner was en RAM een stuk duurder.

This post is warranted for the full amount you paid me for it.