linux-l: Kernel 2.4.4 swapt nicht

Jens Dreger jens.dreger at physik.fu-berlin.de
Di Okt 16 01:27:11 CEST 2001


On Tue, Oct 16, 2001 at 12:59:00AM +0200, P. Volk wrote:
> Am Montag, 15. Oktober 2001 23:49 schrieb Wilhelm Dolle:
> > Hola,
> >
> > > Ich kann den Rechner noch so fordern, er swapt einfach nicht.
> > > Ich denke fuer einige von Euch ist das ein kleines Problem.
> > >
> > > bash-2.05# procinfo
> > > Memory:      Total        Used        Free      Shared     Buffers
> > > Mem:        512660      508628        4032           0        5932
> > > Swap:      1076344        4912     1071432
> >
> >                             ^^^^
> >
> > > bash-2.05# free
> > >              total       used       free     shared    buffers
> > > Mem:        512660     508092       4568          0       5932
> > > -/+ buffers/cache:     233236     279424
> > > Swap:      1076344       4912    1071432
> >
> >                            ^^^^
> >
> > Also entweder hab ich die Frage nicht verstanden oder lese falsch. Ich
> > seh jeweils 4912 KB ausgeswappt (was ein normaler Wert - auch nach 12
> > Tagen - ist, wenn Du keine wirklich speicherhungrigen Applikationen in
> > 512 MB RAM laufen laesst).
> >
> > > Danke vorab fuer die Muehe
> >
> > Och bitte ....
> >
> > Willi, der immer noch die Pointe sucht ...
> 
> Hi Willi,
> 
> meines Erachtens ist das sehr wenig.
> Muesste nicht viel fruher geswapt werden???
> Hab mal ein paar Anwendungen geladen. Ausser das alles tierisch langsam 
> wurde, ist nichts geschehen.
> Vielleicht taeusche ich mich auch ganz gewaltig. Hier noch ein paar Infos von 
> top:
> 
> 12:48am  up 12 days, 11:48,  2 users,  load average: 4.72, 4.02, 2.79
> 129 processes: 116 sleeping, 13 running, 0 zombie, 0 stopped
> CPU states: 72.0% user, 27.9% system,  0.0% nice,  0.0% idle
> Mem:   512660K av,  504680K used,    7980K free,       0K shrd,    1236K buff
> Swap: 1076344K av,    7848K used, 1068496K free                  115796K 
> cached
> 
> Das rippen von CDs wird in diesem Zustand nach kurzer Zeit abgebrochen.

Ich hatte vor kurzem aehnliche Probleme, allerdings bei 1GB
Hauptspeicher. Der Rechner hat sich aber auch manchmal "verschluckt",
und dann ist ein Prozess nach dem anderen verreckt. Es kam auch vor,
dass scheinbar ein bit irgendwo im Speicher geflippt war. Dann ging
z.B. einfach xlock nicht mehr, oder gcc, oder sonstwas. Erst dachte
ich: Platte defekt. Aber die Programme waren nach einem reboot wieder
happy. Dann habe ich versucht, das defekte Bit "rauszuswappen", und
daher folgendes zusammengehackt:

---------------8<---------------------------------
// compile with: gcc -o fillmem fillmem.c
#define MAX 1000
#define CHUNK_SIZE 1000000
int main()
{
  int i,k;
  char *ptr;
  
  for(i=0; i<MAX; i++) {
    ptr = (char *)malloc( CHUNK_SIZE );
    for(k=0; k<CHUNK_SIZE; k++) ptr[k] = (char)k;
    printf("%d bytes allocated at 0x%x\n", CHUNK_SIZE, ptr);
  }
} 
--------------------------------------------------

Dabei musste ich dann feststellen, dass der Rechner in diesem Zustand
_ueberhaupt_ nicht swappt. So eine Handvoll Bytes hat er angezeigt,
aber das proggy sollte ihn doch zu etwas mehr veranlassen.

Ich denke mal, diese 512 MB Riegel fuer 85 DM taugen nichts. ;)
memtest86 ueberstand meiner auch nicht lange. Habe jetzt 3x256MB 
Infineon drin und jetzt swappt er wieder und bisher ist auch kein
xclock mehr verreckt.

Du kannst ja mal in einem Fenster das fillmem von da oben starten und
in einem anderen sowas in der Art:

~> while true; do clear; cat /proc/meminfo; done

Sobald der Hauptspeicher voll ist, sollte der Rechner ganz heftig
anfangen zu swappen. Jedenfalls tut er das bei mir. Allerdings swappt
er nicht mehr als 3x256MB raus. Kann linux nicht Programme teilweise
rausswappen (zu dem Zeitpunkt ist fillmem dann ungefaehr so gross,
alles andere steht...) ?

Gruss,

Jens.




Mehr Informationen über die Mailingliste linux-l